Browse Source

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

Daniele Alessandri 11 years ago
parent
commit
3befbb3ac2
2 changed files with 17 additions and 1 deletions
  1. 4 1
      lib/Predis/Pipeline/Pipeline.php
  2. 13 0
      tests/Predis/Pipeline/PipelineTest.php

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

@@ -76,11 +76,14 @@ class Pipeline implements BasicClientInterface, ExecutableContextInterface
     /**
      * 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)
     {
         $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());
     }
 
+    /**
+     * @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
      */