Ejemplo n.º 1
0
 /**
  * Tests the hydrateResponse() method.
  * @covers \BluePsyduck\MultiCurl\Manager::hydrateResponse
  */
 public function testParseResponse()
 {
     $rawContent = 'abcdef';
     $rawHeader = 'abc';
     $headers = new Collection(array('abc' => 'def'));
     $content = 'def';
     $statusCode = 42;
     /* @var $curl \BluePsyduck\MultiCurl\Wrapper\Curl|\PHPUnit_Framework_MockObject_MockObject */
     $curl = $this->getMockBuilder('BluePsyduck\\MultiCurl\\Wrapper\\Curl')->setMethods(array('getInfo'))->getMock();
     $curl->expects($this->at(0))->method('getInfo')->with(CURLINFO_HEADER_SIZE)->willReturn(strlen($rawHeader));
     $curl->expects($this->at(1))->method('getInfo')->with(CURLINFO_HTTP_CODE)->willReturn($statusCode);
     $request = new Request();
     $request->setCurl($curl);
     /* @var $response \BluePsyduck\MultiCurl\Entity\Response|\PHPUnit_Framework_MockObject_MockObject */
     $response = $this->getMockBuilder('BluePsyduck\\MultiCurl\\Entity\\Response')->setMethods(array('setStatusCode', 'setHeaders', 'setContent'))->getMock();
     $response->expects($this->once())->method('setStatusCode')->with($statusCode)->willReturnSelf();
     $response->expects($this->once())->method('setHeaders')->with($headers)->willReturnSelf();
     $response->expects($this->once())->method('setContent')->with($content)->willReturnSelf();
     /* @var $multiCurl \BluePsyduck\MultiCurl\Wrapper\MultiCurl|\PHPUnit_Framework_MockObject_MockObject */
     $multiCurl = $this->getMockBuilder('BluePsyduck\\MultiCurl\\Wrapper\\MultiCurl')->setMethods(array('getContent'))->getMock();
     $multiCurl->expects($this->once())->method('getContent')->with($curl)->willReturn($rawContent);
     /* @var $manager \BluePsyduck\MultiCurl\Manager|\PHPUnit_Framework_MockObject_MockObject */
     $manager = $this->getMockBuilder('BluePsyduck\\MultiCurl\\Manager')->setMethods(array('parseHeaders'))->getMock();
     $manager->expects($this->once())->method('parseHeaders')->with($rawHeader)->willReturn($headers);
     $this->injectProperty($manager, 'multiCurl', $multiCurl);
     $result = $this->invokeMethod($manager, 'hydrateResponse', array($response, $request));
     $this->assertEquals($manager, $result);
 }
Ejemplo n.º 2
0
 /**
  * Tests the setCurl() method.
  * @covers \BluePsyduck\MultiCurl\Entity\Request::setCurl
  */
 public function testSetCurl()
 {
     $expected = new Curl();
     $request = new Request();
     $result = $request->setCurl($expected);
     $this->assertEquals($request, $result);
     $this->assertPropertyEquals($expected, $request, 'curl');
 }