Преглед изворни кода

Capture requst type can now be set to custom type - https://github.com/jonnnnyw/php-phantomjs/issues/34

Jonny Wenmoth пре 11 година
родитељ
комит
0ec086e22e

+ 28 - 2
src/JonnyW/PhantomJs/Message/CaptureRequest.php

@@ -19,6 +19,14 @@ use JonnyW\PhantomJs\Exception\NotWritableException;
 class CaptureRequest extends AbstractRequest
     implements CaptureRequestInterface
 {
+    /**
+     * Request type
+     *
+     * @var string
+     * @access protected
+     */
+    protected $type;
+
     /**
      * File to save capture.
      *
@@ -79,14 +87,32 @@ class CaptureRequest extends AbstractRequest
     }
 
     /**
-     * Get request type.
+     * Get request type
      *
      * @access public
      * @return string
      */
     public function getType()
     {
-        return RequestInterface::REQUEST_TYPE_CAPTURE;
+        if (!$this->type) {
+            return RequestInterface::REQUEST_TYPE_CAPTURE;
+        }
+
+        return $this->type;
+    }
+
+    /**
+     * Set request type
+     *
+     * @access public
+     * @param  string                                    $type
+     * @return \JonnyW\PhantomJs\Message\AbstractRequest
+     */
+    public function setType($type)
+    {
+        $this->type = $type;
+
+        return $this;
     }
 
     /**

+ 19 - 2
src/JonnyW/PhantomJs/Tests/Unit/Message/CaptureRequestTest.php

@@ -24,18 +24,35 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
 /** +++++++++++++++++++++++++++++++++++ **/
 
     /**
-     * Test get type returns capture request type.
+     * Test capture type is returned by default
+     * if no type is set.
      *
      * @access public
      * @return void
      */
-    public function testGetTypeReturnsCaptureRequestType()
+    public function testCaptureTypeIsReturnedByDefaultIfNotTypeIsSet()
     {
         $captureRequest = $this->getCaptureRequest();
 
         $this->assertSame(RequestInterface::REQUEST_TYPE_CAPTURE, $captureRequest->getType());
     }
 
+    /**
+     * Test custom type is returned if type is set.
+     *
+     * @access public
+     * @return void
+     */
+    public function testCustomTypeIsReturnedIfTypeIsSet()
+    {
+        $requestType = 'testType';
+
+        $captureRequest = $this->getCaptureRequest();
+        $captureRequest->setType($requestType);
+
+        $this->assertSame($requestType, $captureRequest->getType());
+    }
+
     /**
      * Test URL can be set via constructor.
      *