Эх сурвалжийг харах

Avoid channels reordering issues when testing UNSUBSCRIBE.

When using UNSUBSCRIBE without a list of channels (which actually means
"unsubscribe from all the subscribed channels") Redis 2.6 does not
guarantee that channels are returned following the same order of
subscription.
Daniele Alessandri 12 жил өмнө
parent
commit
b26d6103a6

+ 4 - 2
tests/Predis/Command/PubSubUnsubscribeTest.php

@@ -132,8 +132,10 @@ class PubSubUnsubscribeTest extends CommandTestCase
         $this->assertSame(array('subscribe', 'channel:foo', 1), $redis->subscribe('channel:foo'));
         $this->assertSame(array('subscribe', 'channel:bar', 2), $redis->subscribe('channel:bar'));
 
-        $this->assertSame(array('unsubscribe', 'channel:foo', 1), $redis->unsubscribe());
-        $this->assertSame(array('unsubscribe', 'channel:bar', 0), $redis->getConnection()->read());
+        list($_, $unsubscribed1, $_) = $redis->unsubscribe();
+        list($_, $unsubscribed2, $_) = $redis->getConnection()->read();
+        $this->assertSameValues(array('channel:foo', 'channel:bar'), array($unsubscribed1, $unsubscribed2));
+
         $this->assertSame('echoed', $redis->echo('echoed'));
     }
 }