From ddc80e026f27e217e53f5051df0c6f787edea484 Mon Sep 17 00:00:00 2001
From: antirez <antirez@gmail.com>
Date: Wed, 30 Oct 2013 11:58:04 +0100
Subject: [PATCH] Test: added SSCAN test.

---
 tests/unit/scan.tcl | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/tests/unit/scan.tcl b/tests/unit/scan.tcl
index af4bb766..280d3141 100644
--- a/tests/unit/scan.tcl
+++ b/tests/unit/scan.tcl
@@ -52,4 +52,38 @@ start_server {tags {"scan"}} {
         set keys [lsort -unique $keys]
         assert_equal 100 [llength $keys]
     }
+
+    foreach enc {intset hashtable} {
+        test "SSCAN with encoding $enc" {
+            # Create the Set
+            r del set
+            if {$enc eq {intset}} {
+                set prefix ""
+            } else {
+                set prefix "ele:"
+            }
+            set elements {}
+            for {set j 0} {$j < 100} {incr j} {
+                lappend elements ${prefix}${j}
+            }
+            r sadd set {*}$elements
+
+            # Verify that the encoding matches.
+            assert {[r object encoding set] eq $enc}
+
+            # Test SSCAN
+            set cur 0
+            set keys {}
+            while 1 {
+                set res [r sscan set $cur]
+                set cur [lindex $res 0]
+                set k [lindex $res 1]
+                lappend keys {*}$k
+                if {$cur == 0} break
+            }
+
+            set keys [lsort -unique $keys]
+            assert_equal 100 [llength $keys]
+        }
+    }
 }