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

Make Pipeline::executeCommand() return $this for fluent interface.

Daniele Alessandri 11 роки тому
батько
коміт
3befbb3ac2

+ 4 - 1
lib/Predis/Pipeline/Pipeline.php

@@ -76,11 +76,14 @@ class Pipeline implements BasicClientInterface, ExecutableContextInterface
     /**
     /**
      * Queues a command instance into the pipeline buffer.
      * Queues a command instance into the pipeline buffer.
      *
      *
-     * @param CommandInterface $command Command to be queued in the buffer.
+     * @param CommandInterface $command Command instance to be queued in the buffer.
+     * @return self
      */
      */
     public function executeCommand(CommandInterface $command)
     public function executeCommand(CommandInterface $command)
     {
     {
         $this->recordCommand($command);
         $this->recordCommand($command);
+
+        return $this;
     }
     }
 
 
     /**
     /**

+ 13 - 0
tests/Predis/Pipeline/PipelineTest.php

@@ -129,6 +129,19 @@ class PipelineTest extends PredisTestCase
         $this->assertSame(array($error, $error), $pipeline->execute());
         $this->assertSame(array($error, $error), $pipeline->execute());
     }
     }
 
 
+    /**
+     * @group disconnected
+     */
+    public function testExecuteReturnsPipelineForFluentInterface()
+    {
+        $profile = Profile\Factory::getDefault();
+        $connection = $this->getMock('Predis\Connection\SingleConnectionInterface');
+        $pipeline = new Pipeline(new Client($connection));
+        $command = $profile->createCommand('echo', array('one'));
+
+        $this->assertSame($pipeline, $pipeline->executeCommand($command));
+    }
+
     /**
     /**
      * @group disconnected
      * @group disconnected
      */
      */