浏览代码

Added tests for LPOPPUSH.

Daniele Alessandri 15 年之前
父节点
当前提交
28e3926385
共有 1 个文件被更改,包括 18 次插入0 次删除
  1. 18 0
      test/RedisCommandsTest.php

+ 18 - 0
test/RedisCommandsTest.php

@@ -458,6 +458,24 @@ class RedisCommandTestSuite extends PHPUnit_Framework_TestCase {
         });
         });
     }
     }
 
 
+    function testListPopPush() {
+        $numbers = RC::pushTailAndReturn($this->redis, 'numbers', array(0, 1, 2));
+
+        $this->assertEquals(0, $this->redis->listLength('temporary'));
+        $this->assertEquals(2, $this->redis->listPopPush('numbers', 'temporary'));
+        $this->assertEquals(1, $this->redis->listPopPush('numbers', 'temporary'));
+        $this->assertEquals(0, $this->redis->listPopPush('numbers', 'temporary'));
+        $this->assertEquals(0, $this->redis->listLength('numbers'));
+        $this->assertEquals(3, $this->redis->listLength('temporary'));
+        $this->assertEquals(array(), $this->redis->listRange('numbers', 0, -1));
+        $this->assertEquals($numbers, $this->redis->listRange('temporary', 0, -1));
+
+        RC::testForServerException($this, RC::EXCEPTION_WRONG_TYPE, function($test) {
+            $test->redis->set('foo', 'bar');
+            $test->redis->listPopPush('foo', 'hoge');
+        });
+    }
+
     function testListPopFirst() {
     function testListPopFirst() {
         $numbers = RC::pushTailAndReturn($this->redis, 'numbers', array(0, 1, 2, 3, 4));
         $numbers = RC::pushTailAndReturn($this->redis, 'numbers', array(0, 1, 2, 3, 4));