X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/a7159fe817b163d17ff64fae0d459bbe786280ef..02a3e582582c381f14bc23aa9bed4b4645a2f118:/tests/unit/type/hash.tcl diff --git a/tests/unit/type/hash.tcl b/tests/unit/type/hash.tcl index ef49a27d..718bc04a 100644 --- a/tests/unit/type/hash.tcl +++ b/tests/unit/type/hash.tcl @@ -15,8 +15,8 @@ start_server {tags {"hash"}} { } {8} test {Is the small hash encoded with a zipmap?} { - r debug object smallhash - } {*zipmap*} + assert_encoding zipmap smallhash + } test {HSET/HLEN - Big hash creation} { array set bighash {} @@ -34,8 +34,8 @@ start_server {tags {"hash"}} { } {1024} test {Is the big hash encoded with a zipmap?} { - r debug object bighash - } {*hashtable*} + assert_encoding hashtable bighash + } test {HGET against the small hash} { set err {} @@ -140,6 +140,11 @@ start_server {tags {"hash"}} { set _ $rv } {{{} {}} {{} {}} {{} {}}} + test {HMGET against wrong type} { + r set wrongtype somevalue + assert_error "*wrong*" {r hmget wrongtype field1 field2} + } + test {HMGET - small hash} { set keys {} set vals {} @@ -221,6 +226,22 @@ start_server {tags {"hash"}} { set _ $rv } {0 0 1 0 {} 1 0 {}} + test {HDEL - more than a single value} { + set rv {} + r del myhash + r hmset myhash a 1 b 2 c 3 + assert_equal 0 [r hdel myhash x y] + assert_equal 2 [r hdel myhash a c f] + r hgetall myhash + } {b 2} + + test {HDEL - hash becomes empty before deleting all specified fields} { + r del myhash + r hmset myhash a 1 b 2 c 3 + assert_equal 3 [r hdel myhash a b c d e] + assert_equal 0 [r exists myhash] + } + test {HEXISTS} { set rv {} set k [lindex [array names smallhash *] 0]