Test: added HSCAN test.

This commit is contained in:
antirez 2013-10-30 16:24:39 +01:00
parent ddc80e026f
commit 1b960378e8

View File

@ -86,4 +86,44 @@ start_server {tags {"scan"}} {
assert_equal 100 [llength $keys] assert_equal 100 [llength $keys]
} }
} }
foreach enc {ziplist hashtable} {
test "HSCAN with encoding $enc" {
# Create the Hash
r del hash
if {$enc eq {ziplist}} {
set count 30
} else {
set count 1000
}
set elements {}
for {set j 0} {$j < $count} {incr j} {
lappend elements key:$j $j
}
r hmset hash {*}$elements
# Verify that the encoding matches.
assert {[r object encoding hash] eq $enc}
# Test HSCAN
set cur 0
set keys {}
while 1 {
set res [r hscan hash $cur]
set cur [lindex $res 0]
set k [lindex $res 1]
lappend keys {*}$k
if {$cur == 0} break
}
set keys2 {}
foreach {k v} $keys {
assert {$k eq "key:$v"}
lappend keys2 $k
}
set keys2 [lsort -unique $keys2]
assert_equal $count [llength $keys2]
}
}
} }