瀏覽代碼

Add missing tests for Predis\Profile\ServerProfile::defineCommand().

Daniele Alessandri 13 年之前
父節點
當前提交
4805a048ed
共有 1 個文件被更改,包括 28 次插入0 次删除
  1. 28 0
      tests/Predis/Profile/ServerProfileTest.php

+ 28 - 0
tests/Predis/Profile/ServerProfileTest.php

@@ -145,6 +145,34 @@ class ServerProfileTest extends StandardTestCase
         $this->assertNull($profile->getCommandClass('UNKNOWN'));
     }
 
+    /**
+     * @group disconnected
+     */
+    public function testDefineCommand()
+    {
+        $profile = ServerProfile::getDefault();
+        $command = $this->getMock('Predis\Command\CommandInterface');
+
+        $profile->defineCommand('mock', get_class($command));
+
+        $this->assertTrue($profile->supportsCommand('mock'));
+        $this->assertTrue($profile->supportsCommand('MOCK'));
+
+        $this->assertSame(get_class($command), $profile->getCommandClass('mock'));
+    }
+
+    /**
+     * @group disconnected
+     * @expectedException InvalidArgumentException
+     * @expectedExceptionMessage Cannot register 'stdClass' as it is not a valid Redis command
+     */
+    public function testDefineInvalidCommand()
+    {
+        $profile = ServerProfile::getDefault();
+
+        $profile->defineCommand('mock', 'stdClass');
+    }
+
     /**
      * @group disconnected
      */