Przeglądaj źródła

Can now set PhantomJS page settings, including custom user agent, in request - https://github.com/jonnnnyw/php-phantomjs/issues/45

Jonny Wenmoth 9 lat temu
rodzic
commit
65564e83bc

+ 41 - 2
src/JonnyW/PhantomJs/Http/AbstractRequest.php

@@ -28,6 +28,14 @@ abstract class AbstractRequest
      */
     protected $headers;
 
+    /**
+     * Settings
+     *
+     * @var array
+     * @access protected
+     */
+    protected $settings;
+
     /**
      * Request data
      *
@@ -105,6 +113,7 @@ abstract class AbstractRequest
         $this->headers         = array();
         $this->data            = array();
         $this->bodyStyles      = array();
+        $this->settings        = array();
         $this->delay           = 0;
         $this->viewportWidth   = 0;
         $this->viewportHeight  = 0;
@@ -159,7 +168,7 @@ abstract class AbstractRequest
      */
     public function setTimeout($timeout)
     {
-        $this->timeout = $timeout;
+        $this->settings['resourceTimeout'] = $timeout;
 
         return $this;
     }
@@ -172,7 +181,11 @@ abstract class AbstractRequest
      */
     public function getTimeout()
     {
-        return $this->timeout;
+        if (isset($this->settings['resourceTimeout'])) {
+            return $this->settings['resourceTimeout'];
+        }
+
+        return null;
     }
 
     /**
@@ -380,6 +393,32 @@ abstract class AbstractRequest
         return $this->headers;
     }
 
+    /**
+     * Add single setting
+     *
+     * @access public
+     * @param  string                                 $setting
+     * @param  string                                 $value
+     * @return \JonnyW\PhantomJs\Http\AbstractRequest
+     */
+    public function addSetting($setting, $value)
+    {
+        $this->settings[$setting] = $value;
+
+        return $this;
+    }
+
+    /**
+     * Get settings
+     *
+     * @access public
+     * @return array
+     */
+    public function getSettings()
+    {
+        return $this->settings;
+    }
+
     /**
      * Set body styles
      *

+ 7 - 1
src/JonnyW/PhantomJs/Resources/procedures/page_settings.partial

@@ -1,3 +1,9 @@
 
-page.settings.resourceTimeout = {{ input.getTimeout() }};
+var settings = {{ input.getSettings()|json_encode(constant('JSON_FORCE_OBJECT')) }};
 
+for(var prop in settings) {
+    
+    if(settings.hasOwnProperty(prop)) {
+        page.settings[prop] = settings[prop];
+    }
+}

+ 22 - 0
src/JonnyW/PhantomJs/Tests/Integration/ClientTest.php

@@ -212,6 +212,28 @@ EOF;
         $this->assertContains('PHANTOMJS_DEFAULT_TEST', $response->getContent());
     }
 
+    /**
+     * Test can set user agent in settings
+     *
+     * @access public
+     * @return void
+     */
+    public function testCanSetUserAgentInSettings()
+    {
+        $client = $this->getClient();
+
+        $request  = $client->getMessageFactory()->createRequest();
+        $response = $client->getMessageFactory()->createResponse();
+
+        $request->setMethod('GET');
+        $request->setUrl('http://jonnyw.kiwi/tests/test-default.php');
+        $request->addSetting('userAgent', 'PhantomJS TEST');
+
+        $client->send($request, $response);
+
+        $this->assertContains('userAgent=PhantomJS TEST', $response->getContent());
+    }
+
     /**
      * Test response contains console error if a
      * javascript error exists on the page.

+ 24 - 24
src/JonnyW/PhantomJs/Tests/Unit/Http/CaptureRequestTest.php

@@ -34,7 +34,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
     {
         $captureRequest = $this->getCaptureRequest();
 
-        $this->assertSame(RequestInterface::REQUEST_TYPE_CAPTURE, $captureRequest->getType());
+        $this->assertEquals(RequestInterface::REQUEST_TYPE_CAPTURE, $captureRequest->getType());
     }
 
     /**
@@ -50,7 +50,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest = $this->getCaptureRequest();
         $captureRequest->setType($requestType);
 
-        $this->assertSame($requestType, $captureRequest->getType());
+        $this->assertEquals($requestType, $captureRequest->getType());
     }
 
     /**
@@ -64,7 +64,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $url            = 'http://test.com';
         $captureRequest = $this->getCaptureRequest($url);
 
-        $this->assertSame($url, $captureRequest->getUrl());
+        $this->assertEquals($url, $captureRequest->getUrl());
     }
 
     /**
@@ -78,7 +78,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $method         = 'GET';
         $captureRequest = $this->getCaptureRequest(null, $method);
 
-        $this->assertSame($method, $captureRequest->getMethod());
+        $this->assertEquals($method, $captureRequest->getMethod());
     }
 
     /**
@@ -92,7 +92,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $timeout        = 100000;
         $captureRequest = $this->getCaptureRequest('http://test.com', 'GET', $timeout);
 
-        $this->assertSame($timeout, $captureRequest->getTimeout());
+        $this->assertEquals($timeout, $captureRequest->getTimeout());
     }
 
     /**
@@ -124,7 +124,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest = $this->getCaptureRequest();
         $captureRequest->setCaptureDimensions($width, $height);
 
-        $this->assertSame($width, $captureRequest->getRectWidth());
+        $this->assertEquals($width, $captureRequest->getRectWidth());
     }
 
     /**
@@ -141,7 +141,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest = $this->getCaptureRequest();
         $captureRequest->setCaptureDimensions($width, $height);
 
-        $this->assertSame($height, $captureRequest->getRectHeight());
+        $this->assertEquals($height, $captureRequest->getRectHeight());
     }
 
     /**
@@ -159,7 +159,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest = $this->getCaptureRequest();
         $captureRequest->setCaptureDimensions($width, $height, $top);
 
-        $this->assertSame($top, $captureRequest->getRectTop());
+        $this->assertEquals($top, $captureRequest->getRectTop());
     }
 
     /**
@@ -177,7 +177,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest = $this->getCaptureRequest();
         $captureRequest->setCaptureDimensions($width, $height, 0, $left);
 
-        $this->assertSame($left, $captureRequest->getRectLeft());
+        $this->assertEquals($left, $captureRequest->getRectLeft());
     }
 
     /**
@@ -201,7 +201,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest->setUrl($url);
         $captureRequest->setRequestData($data);
 
-        $this->assertSame($url, $captureRequest->getUrl());
+        $this->assertEquals($url, $captureRequest->getUrl());
     }
 
     /**
@@ -227,7 +227,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '?test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $captureRequest->getUrl());
+        $this->assertEquals($expectedUrl, $captureRequest->getUrl());
     }
 
     /**
@@ -253,7 +253,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '?test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $captureRequest->getUrl());
+        $this->assertEquals($expectedUrl, $captureRequest->getUrl());
     }
 
     /**
@@ -279,7 +279,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '&test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $captureRequest->getUrl());
+        $this->assertEquals($expectedUrl, $captureRequest->getUrl());
     }
 
     /**
@@ -300,7 +300,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest->setMethod('GET');
         $captureRequest->setRequestData($data);
 
-        $this->assertSame('', $captureRequest->getBody());
+        $this->assertEquals('', $captureRequest->getBody());
     }
 
     /**
@@ -321,7 +321,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest->setMethod('HEAD');
         $captureRequest->setRequestData($data);
 
-        $this->assertSame('', $captureRequest->getBody());
+        $this->assertEquals('', $captureRequest->getBody());
     }
 
     /**
@@ -344,7 +344,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
 
         $body = 'test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($body, $captureRequest->getBody());
+        $this->assertEquals($body, $captureRequest->getBody());
     }
 
     /**
@@ -372,7 +372,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
             'test_param2[1]' => 'Testing3'
         );
 
-        $this->assertSame($flatData, $captureRequest->getRequestData(true));
+        $this->assertEquals($flatData, $captureRequest->getRequestData(true));
     }
 
     /**
@@ -394,7 +394,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest = $this->getCaptureRequest();
         $captureRequest->setRequestData($data);
 
-        $this->assertSame($data, $captureRequest->getRequestData(false));
+        $this->assertEquals($data, $captureRequest->getRequestData(false));
     }
 
     /**
@@ -420,7 +420,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedHeaders = array_merge($existingHeaders, $newHeaders);
 
-        $this->assertSame($expectedHeaders, $captureRequest->getHeaders());
+        $this->assertEquals($expectedHeaders, $captureRequest->getHeaders());
     }
 
     /**
@@ -442,7 +442,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedHeaders = json_encode($headers);
 
-        $this->assertSame($expectedHeaders, $captureRequest->getHeaders('json'));
+        $this->assertEquals($expectedHeaders, $captureRequest->getHeaders('json'));
     }
 
     /**
@@ -461,7 +461,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest = $this->getCaptureRequest();
         $captureRequest->setHeaders($headers);
 
-        $this->assertSame($headers, $captureRequest->getHeaders('default'));
+        $this->assertEquals($headers, $captureRequest->getHeaders('default'));
     }
 
     /**
@@ -494,7 +494,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $captureRequest = $this->getCaptureRequest();
         $captureRequest->setOutputFile($outputFile);
 
-        $this->assertSame($outputFile, $captureRequest->getOutputFile());
+        $this->assertEquals($outputFile, $captureRequest->getOutputFile());
     }
 
     /**
@@ -511,7 +511,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $caputreRequest = $this->getCaptureRequest();
         $caputreRequest->setViewportSize($width, $height);
 
-        $this->assertSame($width, $caputreRequest->getViewportWidth());
+        $this->assertEquals($width, $caputreRequest->getViewportWidth());
     }
 
     /**
@@ -528,7 +528,7 @@ class CaptureRequestTest extends \PHPUnit_Framework_TestCase
         $caputreRequest = $this->getCaptureRequest();
         $caputreRequest->setViewportSize($width, $height);
 
-        $this->assertSame($height, $caputreRequest->getViewportHeight());
+        $this->assertEquals($height, $caputreRequest->getViewportHeight());
     }
 
 /** +++++++++++++++++++++++++++++++++++ **/

+ 6 - 6
src/JonnyW/PhantomJs/Tests/Unit/Http/MessageFactoryTest.php

@@ -59,7 +59,7 @@ class MessageFactoryTest extends \PHPUnit_Framework_TestCase
         $messageFactory = $this->getMessageFactory();
         $request        = $messageFactory->createRequest($url);
 
-        $this->assertSame($url, $request->getUrl());
+        $this->assertEquals($url, $request->getUrl());
     }
 
     /**
@@ -75,7 +75,7 @@ class MessageFactoryTest extends \PHPUnit_Framework_TestCase
         $messageFactory = $this->getMessageFactory();
         $request        = $messageFactory->createRequest(null, $method);
 
-        $this->assertSame($method, $request->getMethod());
+        $this->assertEquals($method, $request->getMethod());
     }
 
     /**
@@ -91,7 +91,7 @@ class MessageFactoryTest extends \PHPUnit_Framework_TestCase
         $messageFactory = $this->getMessageFactory();
         $request        = $messageFactory->createRequest(null, 'GET', $timeout);
 
-        $this->assertSame($timeout, $request->getTimeout());
+        $this->assertEquals($timeout, $request->getTimeout());
     }
 
     /**
@@ -120,7 +120,7 @@ class MessageFactoryTest extends \PHPUnit_Framework_TestCase
         $messageFactory = $this->getMessageFactory();
         $captureRequest = $messageFactory->createCaptureRequest($url);
 
-        $this->assertSame($url, $captureRequest->getUrl());
+        $this->assertEquals($url, $captureRequest->getUrl());
     }
 
     /**
@@ -137,7 +137,7 @@ class MessageFactoryTest extends \PHPUnit_Framework_TestCase
         $messageFactory = $this->getMessageFactory();
         $captureRequest = $messageFactory->createCaptureRequest(null, $method);
 
-        $this->assertSame($method, $captureRequest->getMethod());
+        $this->assertEquals($method, $captureRequest->getMethod());
     }
 
     /**
@@ -153,7 +153,7 @@ class MessageFactoryTest extends \PHPUnit_Framework_TestCase
         $messageFactory = $this->getMessageFactory();
         $captureRequest = $messageFactory->createCaptureRequest(null, 'GET', $timeout);
 
-        $this->assertSame($timeout, $captureRequest->getTimeout());
+        $this->assertEquals($timeout, $captureRequest->getTimeout());
     }
 
     /**

+ 22 - 22
src/JonnyW/PhantomJs/Tests/Unit/Http/PdfRequestTest.php

@@ -34,7 +34,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
     {
         $pdfRequest = $this->getPdfRequest();
 
-        $this->assertSame(RequestInterface::REQUEST_TYPE_PDF, $pdfRequest->getType());
+        $this->assertEquals(RequestInterface::REQUEST_TYPE_PDF, $pdfRequest->getType());
     }
 
     /**
@@ -50,7 +50,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest = $this->getPdfRequest();
         $pdfRequest->setType($requestType);
 
-        $this->assertSame($requestType, $pdfRequest->getType());
+        $this->assertEquals($requestType, $pdfRequest->getType());
     }
 
     /**
@@ -64,7 +64,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $url            = 'http://test.com';
         $pdfRequest = $this->getPdfRequest($url);
 
-        $this->assertSame($url, $pdfRequest->getUrl());
+        $this->assertEquals($url, $pdfRequest->getUrl());
     }
 
     /**
@@ -78,7 +78,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $method         = 'GET';
         $pdfRequest = $this->getPdfRequest(null, $method);
 
-        $this->assertSame($method, $pdfRequest->getMethod());
+        $this->assertEquals($method, $pdfRequest->getMethod());
     }
 
     /**
@@ -92,7 +92,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $timeout        = 100000;
         $pdfRequest = $this->getPdfRequest('http://test.com', 'GET', $timeout);
 
-        $this->assertSame($timeout, $pdfRequest->getTimeout());
+        $this->assertEquals($timeout, $pdfRequest->getTimeout());
     }
 
     /**
@@ -131,7 +131,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest->setUrl($url);
         $pdfRequest->setRequestData($data);
 
-        $this->assertSame($url, $pdfRequest->getUrl());
+        $this->assertEquals($url, $pdfRequest->getUrl());
     }
 
     /**
@@ -157,7 +157,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '?test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $pdfRequest->getUrl());
+        $this->assertEquals($expectedUrl, $pdfRequest->getUrl());
     }
 
     /**
@@ -183,7 +183,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '?test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $pdfRequest->getUrl());
+        $this->assertEquals($expectedUrl, $pdfRequest->getUrl());
     }
 
     /**
@@ -209,7 +209,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '&test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $pdfRequest->getUrl());
+        $this->assertEquals($expectedUrl, $pdfRequest->getUrl());
     }
 
     /**
@@ -230,7 +230,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest->setMethod('GET');
         $pdfRequest->setRequestData($data);
 
-        $this->assertSame('', $pdfRequest->getBody());
+        $this->assertEquals('', $pdfRequest->getBody());
     }
 
     /**
@@ -251,7 +251,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest->setMethod('HEAD');
         $pdfRequest->setRequestData($data);
 
-        $this->assertSame('', $pdfRequest->getBody());
+        $this->assertEquals('', $pdfRequest->getBody());
     }
 
     /**
@@ -274,7 +274,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
 
         $body = 'test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($body, $pdfRequest->getBody());
+        $this->assertEquals($body, $pdfRequest->getBody());
     }
 
     /**
@@ -302,7 +302,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
             'test_param2[1]' => 'Testing3'
         );
 
-        $this->assertSame($flatData, $pdfRequest->getRequestData(true));
+        $this->assertEquals($flatData, $pdfRequest->getRequestData(true));
     }
 
     /**
@@ -324,7 +324,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest = $this->getPdfRequest();
         $pdfRequest->setRequestData($data);
 
-        $this->assertSame($data, $pdfRequest->getRequestData(false));
+        $this->assertEquals($data, $pdfRequest->getRequestData(false));
     }
 
     /**
@@ -350,7 +350,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedHeaders = array_merge($existingHeaders, $newHeaders);
 
-        $this->assertSame($expectedHeaders, $pdfRequest->getHeaders());
+        $this->assertEquals($expectedHeaders, $pdfRequest->getHeaders());
     }
 
     /**
@@ -372,7 +372,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedHeaders = json_encode($headers);
 
-        $this->assertSame($expectedHeaders, $pdfRequest->getHeaders('json'));
+        $this->assertEquals($expectedHeaders, $pdfRequest->getHeaders('json'));
     }
 
     /**
@@ -391,7 +391,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest = $this->getPdfRequest();
         $pdfRequest->setHeaders($headers);
 
-        $this->assertSame($headers, $pdfRequest->getHeaders('default'));
+        $this->assertEquals($headers, $pdfRequest->getHeaders('default'));
     }
 
     /**
@@ -424,7 +424,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest = $this->getPdfRequest();
         $pdfRequest->setOutputFile($outputFile);
 
-        $this->assertSame($outputFile, $pdfRequest->getOutputFile());
+        $this->assertEquals($outputFile, $pdfRequest->getOutputFile());
     }
 
     /**
@@ -441,7 +441,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest = $this->getPdfRequest();
         $pdfRequest->setViewportSize($width, $height);
 
-        $this->assertSame($width, $pdfRequest->getViewportWidth());
+        $this->assertEquals($width, $pdfRequest->getViewportWidth());
     }
 
     /**
@@ -458,7 +458,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest = $this->getPdfRequest();
         $pdfRequest->setViewportSize($width, $height);
 
-        $this->assertSame($height, $pdfRequest->getViewportHeight());
+        $this->assertEquals($height, $pdfRequest->getViewportHeight());
     }
 
     /**
@@ -475,7 +475,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest = $this->getPdfRequest();
         $pdfRequest->setPaperSize($width, $height);
 
-        $this->assertSame($width, $pdfRequest->getPaperWidth());
+        $this->assertEquals($width, $pdfRequest->getPaperWidth());
     }
 
     /**
@@ -492,7 +492,7 @@ class PdfRequestTest extends \PHPUnit_Framework_TestCase
         $pdfRequest = $this->getPdfRequest();
         $pdfRequest->setPaperSize($width, $height);
 
-        $this->assertSame($height, $pdfRequest->getPaperHeight());
+        $this->assertEquals($height, $pdfRequest->getPaperHeight());
     }
 
 /** +++++++++++++++++++++++++++++++++++ **/

+ 64 - 23
src/JonnyW/PhantomJs/Tests/Unit/Http/RequestTest.php

@@ -34,7 +34,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
     {
         $request = $this->getRequest();
 
-        $this->assertSame(RequestInterface::REQUEST_TYPE_DEFAULT, $request->getType());
+        $this->assertEquals(RequestInterface::REQUEST_TYPE_DEFAULT, $request->getType());
     }
 
     /**
@@ -50,7 +50,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $request = $this->getRequest();
         $request->setType($requestType);
 
-        $this->assertSame($requestType, $request->getType());
+        $this->assertEquals($requestType, $request->getType());
     }
 
     /**
@@ -64,7 +64,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $url            = 'http://test.com';
         $request = $this->getRequest($url);
 
-        $this->assertSame($url, $request->getUrl());
+        $this->assertEquals($url, $request->getUrl());
     }
 
     /**
@@ -78,7 +78,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $method         = 'GET';
         $request = $this->getRequest(null, $method);
 
-        $this->assertSame($method, $request->getMethod());
+        $this->assertEquals($method, $request->getMethod());
     }
 
     /**
@@ -92,7 +92,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $timeout        = 100000;
         $request = $this->getRequest('http://test.com', 'GET', $timeout);
 
-        $this->assertSame($timeout, $request->getTimeout());
+        $this->assertEquals($timeout, $request->getTimeout());
     }
 
     /**
@@ -131,7 +131,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $request->setUrl($url);
         $request->setRequestData($data);
 
-        $this->assertSame($url, $request->getUrl());
+        $this->assertEquals($url, $request->getUrl());
     }
 
     /**
@@ -157,7 +157,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '?test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $request->getUrl());
+        $this->assertEquals($expectedUrl, $request->getUrl());
     }
 
     /**
@@ -183,7 +183,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '?test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $request->getUrl());
+        $this->assertEquals($expectedUrl, $request->getUrl());
     }
 
     /**
@@ -209,7 +209,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedUrl = $url . '&test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($expectedUrl, $request->getUrl());
+        $this->assertEquals($expectedUrl, $request->getUrl());
     }
 
     /**
@@ -230,7 +230,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $request->setMethod('GET');
         $request->setRequestData($data);
 
-        $this->assertSame('', $request->getBody());
+        $this->assertEquals('', $request->getBody());
     }
 
     /**
@@ -251,7 +251,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $request->setMethod('HEAD');
         $request->setRequestData($data);
 
-        $this->assertSame('', $request->getBody());
+        $this->assertEquals('', $request->getBody());
     }
 
     /**
@@ -274,7 +274,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
         $body = 'test_param1=Testing1&test_param2=Testing2';
 
-        $this->assertSame($body, $request->getBody());
+        $this->assertEquals($body, $request->getBody());
     }
 
     /**
@@ -302,7 +302,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
             'test_param2[1]' => 'Testing3'
         );
 
-        $this->assertSame($flatData, $request->getRequestData(true));
+        $this->assertEquals($flatData, $request->getRequestData(true));
     }
 
     /**
@@ -324,7 +324,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $request = $this->getRequest();
         $request->setRequestData($data);
 
-        $this->assertSame($data, $request->getRequestData(false));
+        $this->assertEquals($data, $request->getRequestData(false));
     }
 
     /**
@@ -350,7 +350,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedHeaders = array_merge($existingHeaders, $newHeaders);
 
-        $this->assertSame($expectedHeaders, $request->getHeaders());
+        $this->assertEquals($expectedHeaders, $request->getHeaders());
     }
 
     /**
@@ -372,7 +372,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
         $expectedHeaders = json_encode($headers);
 
-        $this->assertSame($expectedHeaders, $request->getHeaders('json'));
+        $this->assertEquals($expectedHeaders, $request->getHeaders('json'));
     }
 
     /**
@@ -391,7 +391,48 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $request = $this->getRequest();
         $request->setHeaders($headers);
 
-        $this->assertSame($headers, $request->getHeaders('default'));
+        $this->assertEquals($headers, $request->getHeaders('default'));
+    }
+
+    /**
+     * Test can add setting.
+     *
+     * @access public
+     * @return void
+     */
+    public function testCanAddSetting()
+    {
+        $request = $this->getRequest();
+        $request->addSetting('userAgent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36');
+        $request->addSetting('localToRemoteUrlAccessEnabled', 'true');
+        $request->addSetting('resourceTimeout', 3000);
+
+        $expected = array(
+            'userAgent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36',
+            'localToRemoteUrlAccessEnabled' => 'true',
+            'resourceTimeout' => 3000
+        );
+
+        $this->assertEquals($expected, $request->getSettings());
+    }
+
+    /**
+     * Test set timeout sets resource
+     * timeout in settings
+     *
+     * @access public
+     * @return void
+     */
+    public function testSetTimeoutSetsResourceTimeoutInSettings()
+    {
+        $request = $this->getRequest();
+        $request->setTimeout(1000);
+
+        $expected = array(
+            'resourceTimeout' => 1000
+        );
+
+        $this->assertEquals($expected, $request->getSettings());
     }
 
     /**
@@ -405,10 +446,10 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $width  = 100;
         $height = 200;
 
-        $caputreRequest = $this->getRequest();
-        $caputreRequest->setViewportSize($width, $height);
+        $request = $this->getRequest();
+        $request->setViewportSize($width, $height);
 
-        $this->assertSame($width, $caputreRequest->getViewportWidth());
+        $this->assertEquals($width, $request->getViewportWidth());
     }
 
     /**
@@ -422,10 +463,10 @@ class RequestTest extends \PHPUnit_Framework_TestCase
         $width  = 100;
         $height = 200;
 
-        $caputreRequest = $this->getRequest();
-        $caputreRequest->setViewportSize($width, $height);
+        $request = $this->getRequest();
+        $request->setViewportSize($width, $height);
 
-        $this->assertSame($height, $caputreRequest->getViewportHeight());
+        $this->assertEquals($height, $request->getViewportHeight());
     }
 
 /** +++++++++++++++++++++++++++++++++++ **/

+ 8 - 8
src/JonnyW/PhantomJs/Tests/Unit/Http/ResponseTest.php

@@ -37,7 +37,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
         $response = $this->getResponse();
         $response->import($data);
 
-        $this->assertSame(200, $response->getStatus());
+        $this->assertEquals(200, $response->getStatus());
     }
 
     /**
@@ -55,7 +55,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
         $response = $this->getResponse();
         $response->import($data);
 
-        $this->assertSame('Test content', $response->getContent());
+        $this->assertEquals('Test content', $response->getContent());
     }
 
     /**
@@ -73,7 +73,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
         $response = $this->getResponse();
         $response->import($data);
 
-        $this->assertSame('text/html', $response->getContentType());
+        $this->assertEquals('text/html', $response->getContentType());
     }
 
     /**
@@ -91,7 +91,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
         $response = $this->getResponse();
         $response->import($data);
 
-        $this->assertSame('http://test.com', $response->getUrl());
+        $this->assertEquals('http://test.com', $response->getUrl());
     }
 
     /**
@@ -109,7 +109,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
         $response = $this->getResponse();
         $response->import($data);
 
-        $this->assertSame('http://test.com', $response->getRedirectUrl());
+        $this->assertEquals('http://test.com', $response->getRedirectUrl());
     }
 
     /**
@@ -127,7 +127,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
         $response = $this->getResponse();
         $response->import($data);
 
-        $this->assertSame(123456789, $response->getTime());
+        $this->assertEquals(123456789, $response->getTime());
     }
 
     /**
@@ -156,7 +156,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
             $headers[0]['name'] => $headers[0]['value']
         );
 
-        $this->assertSame($expectedHeaders, $response->getHeaders());
+        $this->assertEquals($expectedHeaders, $response->getHeaders());
     }
 
     /**
@@ -194,7 +194,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
         $response = $this->getResponse();
         $response->import($data);
 
-        $this->assertSame('Test Header 1', $response->getHeader('Header1'));
+        $this->assertEquals('Test Header 1', $response->getHeader('Header1'));
     }
 
     /**