summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorSalvatore Sanfilippo <antirez@gmail.com>2015-02-27 15:24:04 +0100
committerSalvatore Sanfilippo <antirez@gmail.com>2015-02-27 15:24:04 +0100
commitb49c00a79c77cc49bfe3876daf4a1de023a68a3d (patch)
treed822a45ce2490b2cfad644c8d1f1d9d1fd8b67a0 /tests/unit
parent7e6b4ea67bf38595ae25bdd6aa253702a1fd5509 (diff)
parentdb9461e466afeeb9b50a80b78934144922482f5b (diff)
downloadredis-b49c00a79c77cc49bfe3876daf4a1de023a68a3d.tar.gz
Merge pull request #2415 from landmime/unstable
added a new hvstrlen command
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/type/hash.tcl31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/unit/type/hash.tcl b/tests/unit/type/hash.tcl
index fa52afd16..3d9be1fcc 100644
--- a/tests/unit/type/hash.tcl
+++ b/tests/unit/type/hash.tcl
@@ -390,6 +390,37 @@ start_server {tags {"hash"}} {
lappend rv [string match "ERR*not*float*" $bigerr]
} {1 1}
+ test {HVSTRLEN against the small hash} {
+ set err {}
+ foreach k [array names smallhash *] {
+ if {[string length $smallhash($k)] ne [r hvstrlen smallhash $k]} {
+ set err "[string length $smallhash($k)] != [r hvstrlen smallhash $k]"
+ break
+ }
+ }
+ set _ $err
+ } {}
+
+ test {HVSTRLEN against the big hash} {
+ set err {}
+ foreach k [array names bighash *] {
+ if {[string length $bighash($k)] ne [r hvstrlen bighash $k]} {
+ set err "[string length $bighash($k)] != [r hvstrlen bighash $k]"
+ break
+ }
+ }
+ set _ $err
+ } {}
+
+ test {HVSTRLEN against non existing key} {
+ set rv {}
+ lappend rv [r hvstrlen smallhash __123123123__]
+ lappend rv [r hvstrlen bighash __123123123__]
+ set _ $rv
+
+ } {{} {}}
+
+
test {Hash ziplist regression test for large keys} {
r hset hash kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk a
r hset hash kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk b