@@ -1127,23 +1127,45 @@ public function testsPop()
11271127    }
11281128
11291129    public  function  testsRandMember () {
1130- 	 $ this  ->redis ->delete ('set0 ' );
1131- 	 $ this  ->assertTrue ($ this  ->redis ->sRandMember ('set0 ' ) === FALSE );
1130+          $ this  ->redis ->delete ('set0 ' );
1131+          $ this  ->assertTrue ($ this  ->redis ->sRandMember ('set0 ' ) === FALSE );
11321132
1133- 	 $ this  ->redis ->sAdd ('set0 ' , 'val ' );
1134- 	 $ this  ->redis ->sAdd ('set0 ' , 'val2 ' );
1133+          $ this  ->redis ->sAdd ('set0 ' , 'val ' );
1134+          $ this  ->redis ->sAdd ('set0 ' , 'val2 ' );
11351135
1136- 	 $ got  = array ();
1137- 	 while (true ) {
1138- 	     $ v  = $ this  ->redis ->sRandMember ('set0 ' );
1139- 	     $ this  ->assertTrue (2  === $ this  ->redis ->sSize ('set0 ' )); // no change. 
1140- 	     $ this  ->assertTrue ($ v  === 'val '  || $ v  === 'val2 ' );
1136+          $ got  = array ();
1137+          while (true ) {
1138+              $ v  = $ this  ->redis ->sRandMember ('set0 ' );
1139+              $ this  ->assertTrue (2  === $ this  ->redis ->sSize ('set0 ' )); // no change. 
1140+              $ this  ->assertTrue ($ v  === 'val '  || $ v  === 'val2 ' );
11411141
1142- 	    $ got [$ v ] = $ v ;
1143- 	    if (count ($ got ) == 2 ) {
1144- 	        break ;
1145- 	    }
1146- 	}
1142+             $ got [$ v ] = $ v ;
1143+             if (count ($ got ) == 2 ) {
1144+                 break ;
1145+             }
1146+         }
1147+ 
1148+         //  
1149+         // With and without count, while serializing 
1150+         //  
1151+ 
1152+         $ this  ->redis ->delete ('set0 ' );
1153+         $ this  ->redis ->setOption (Redis::OPT_SERIALIZER , Redis::SERIALIZER_PHP );
1154+         for ($ i =0 ;$ i <5 ;$ i ++) {
1155+             $ member  = "member: $ i " ;
1156+             $ this  ->redis ->sAdd ('set0 ' , $ member );
1157+             $ mems [] = $ member ;
1158+         }
1159+ 
1160+         $ member  = $ this  ->redis ->srandmember ('set0 ' );
1161+         $ this  ->assertTrue (in_array ($ member , $ mems ));
1162+ 
1163+         $ rmembers  = $ this  ->redis ->srandmember ('set0 ' , $ i );
1164+         foreach ($ rmembers  as  $ reply_mem ) {
1165+             $ this  ->assertTrue (in_array ($ reply_mem , $ mems ));
1166+         }
1167+ 
1168+         $ this  ->redis ->setOption (Redis::OPT_SERIALIZER , Redis::SERIALIZER_NONE );
11471169    }
11481170
11491171    public  function  testSRandMemberWithCount () {
0 commit comments