mirror of
https://github.com/fluencelabs/redis
synced 2025-06-12 16:51:22 +00:00
Refactor and rename SUBSTR to GETRANGE
SUBSTR is renamed to GETRANGE to have better consistency between command names (with SETRANGE as its dual). GETRANGE is still aliased as SUBSTR.
This commit is contained in:
@ -562,4 +562,40 @@ start_server {tags {"basic"}} {
|
||||
r set mykey "hello"
|
||||
assert_error "*maximum allowed size*" {r setrange mykey [expr 512*1024*1024-4] world}
|
||||
}
|
||||
|
||||
test {SUBSTR basics} {
|
||||
set res {}
|
||||
r set foo "Hello World"
|
||||
lappend res [r substr foo 0 3]
|
||||
lappend res [r substr foo 0 -1]
|
||||
lappend res [r substr foo -4 -1]
|
||||
lappend res [r substr foo 5 3]
|
||||
lappend res [r substr foo 5 5000]
|
||||
lappend res [r substr foo -5000 10000]
|
||||
set _ $res
|
||||
} {Hell {Hello World} orld {} { World} {Hello World}}
|
||||
|
||||
test {SUBSTR against integer encoded values} {
|
||||
r set foo 123
|
||||
r substr foo 0 -2
|
||||
} {12}
|
||||
|
||||
test {SUBSTR fuzzing} {
|
||||
set err {}
|
||||
for {set i 0} {$i < 1000} {incr i} {
|
||||
set bin [randstring 0 1024 binary]
|
||||
set _start [set start [randomInt 1500]]
|
||||
set _end [set end [randomInt 1500]]
|
||||
if {$_start < 0} {set _start "end-[abs($_start)-1]"}
|
||||
if {$_end < 0} {set _end "end-[abs($_end)-1]"}
|
||||
set s1 [string range $bin $_start $_end]
|
||||
r set bin $bin
|
||||
set s2 [r substr bin $start $end]
|
||||
if {$s1 != $s2} {
|
||||
set err "String mismatch"
|
||||
break
|
||||
}
|
||||
}
|
||||
set _ $err
|
||||
} {}
|
||||
}
|
||||
|
Reference in New Issue
Block a user