فهرست منبع

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
      */