Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xindoo
redis
提交
d8f160a8
R
redis
项目概览
xindoo
/
redis
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d8f160a8
编写于
12月 14, 2010
作者:
P
Pieter Noordhuis
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add test cases for GETRANGE against integer-encoded strings
上级
ef11bccc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
29 deletion
+29
-29
tests/unit/basic.tcl
tests/unit/basic.tcl
+29
-29
未找到文件。
tests/unit/basic.tcl
浏览文件 @
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
}
{}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录