@@ -1127,23 +1127,45 @@ public function testsPop()
1127
1127
}
1128
1128
1129
1129
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 );
1132
1132
1133
- $ this ->redis ->sAdd ('set0 ' , 'val ' );
1134
- $ this ->redis ->sAdd ('set0 ' , 'val2 ' );
1133
+ $ this ->redis ->sAdd ('set0 ' , 'val ' );
1134
+ $ this ->redis ->sAdd ('set0 ' , 'val2 ' );
1135
1135
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 ' );
1141
1141
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 );
1147
1169
}
1148
1170
1149
1171
public function testSRandMemberWithCount () {
0 commit comments