/** * 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); }
/** * 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'); }