瀏覽代碼

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 年之前
父節點
當前提交
b26d6103a6
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      tests/Predis/Command/PubSubUnsubscribeTest.php

+ 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'));
     }
 }