Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
d8f160a8
Commit
d8f160a8
authored
Dec 14, 2010
by
Pieter Noordhuis
Browse files
Add test cases for GETRANGE against integer-encoded strings
parent
ef11bccc
Changes
1
Hide whitespace changes
Inline
Side-by-side
tests/unit/basic.tcl
View file @
d8f160a8
...
...
@@ -563,39 +563,39 @@ start_server {tags {"basic"}} {
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
{}
test
"GETRANGE against non-existing key"
{
r del mykey
assert_equal
""
[
r getrange mykey 0 -1
]
}
test
"GETRANGE against string value"
{
r set mykey
"Hello World"
assert_equal
"Hell"
[
r getrange mykey 0 3
]
assert_equal
"Hello World"
[
r getrange mykey 0 -1
]
assert_equal
"orld"
[
r getrange mykey -4 -1
]
assert_equal
""
[
r getrange mykey 5 3
]
assert_equal
" World"
[
r getrange mykey 5 5000
]
assert_equal
"Hello World"
[
r getrange mykey -5000 10000
]
}
test
"GETRANGE against integer-encoded value"
{
r set mykey 1234
assert_equal
"123"
[
r getrange mykey 0 2
]
assert_equal
"1234"
[
r getrange mykey 0 -1
]
assert_equal
"234"
[
r getrange mykey -3 -1
]
assert_equal
""
[
r getrange mykey 5 3
]
assert_equal
"4"
[
r getrange mykey 3 5000
]
assert_equal
"1234"
[
r getrange mykey -5000 10000
]
}
test
"GETRANGE fuzzing"
{
for
{
set i 0
}
{
$i
< 1000
}
{
incr i
}
{
set bin
[
randstring 0 1024 binary
]
r set bin
[
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
}
assert_equal
[
string range $bin $_start $_end
]
[
r getrange bin $start $end
]
}
set _ $err
}
{}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment