Переглянути джерело

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 13 роки тому
батько
коміт
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'));
     }
 }