]> git.saurik.com Git - redis.git/commitdiff
SMOVE test added
authorantirez <antirez@gmail.com>
Tue, 28 Apr 2009 19:19:37 +0000 (21:19 +0200)
committerantirez <antirez@gmail.com>
Tue, 28 Apr 2009 19:19:37 +0000 (21:19 +0200)
client-libraries/tcl/redis.tcl
test-redis.tcl

index d1ec72861bf7d11f1cd1a41f18454fe716eee7b6..636444de50462788255ff24933fa7f04ad2661c8 100644 (file)
@@ -19,7 +19,7 @@ array set ::redis::bulkarg {}
 
 # Flag commands requiring last argument as a bulk write operation
 foreach redis_bulk_cmd {
-    set setnx rpush lpush lset lrem sadd srem sismember echo getset
+    set setnx rpush lpush lset lrem sadd srem sismember echo getset smove
 } {
     set ::redis::bulkarg($redis_bulk_cmd) {}
 }
index 3bfd5a1e15d32bdfbfbcf0c268480129f9476f5c..449e1d87b35a4664db634a21e277c7757aafc9c3 100644 (file)
@@ -655,6 +655,41 @@ proc main {server port} {
         list [$r getset foo xyz] [$r get foo]
     } {bar xyz}
 
+    test {SMOVE basics} {
+        $r sadd myset1 a
+        $r sadd myset1 b
+        $r sadd myset1 c
+        $r sadd myset2 x
+        $r sadd myset2 y
+        $r sadd myset2 z
+        $r smove myset1 myset2 a
+        list [lsort [$r smembers myset2]] [lsort [$r smembers myset1]]
+    } {{a x y z} {b c}}
+
+    test {SMOVE non existing key} {
+        list [$r smove myset1 myset2 foo] [lsort [$r smembers myset2]] [lsort [$r smembers myset1]]
+    } {0 {a x y z} {b c}}
+
+    test {SMOVE non existing src set} {
+        list [$r smove noset myset2 foo] [lsort [$r smembers myset2]]
+    } {0 {a x y z}}
+
+    test {SMOVE non existing dst set} {
+        list [$r smove myset2 myset3 y] [lsort [$r smembers myset2]] [lsort [$r smembers myset3]]
+    } {1 {a x z} y}
+
+    test {SMOVE wrong src key type} {
+        $r set x 10
+        catch {$r smove x myset2 foo} err
+        format $err
+    } {ERR*}
+
+    test {SMOVE wrong dst key type} {
+        $r set x 10
+        catch {$r smove myset2 x foo} err
+        format $err
+    } {ERR*}
+
     # Leave the user with a clean DB before to exit
     test {FLUSHALL} {
         $r flushall