public function createFromRawSetsHeadersAndStatusCodeCorrectly($rawResponse, $expectedHeaders, $expectedStatusCode)
{
$response = Response::createFromRaw($rawResponse);
$this->assertEquals('HTTP/1.1', $response->getVersion());
foreach ($expectedHeaders as $fieldName => $fieldValue) {
$this->assertTrue($response->hasHeader($fieldName), sprintf('Response does not have expected header %s', $fieldName));
$this->assertEquals($fieldValue, $response->getHeader($fieldName));
}
foreach ($response->getHeaders()->getAll() as $fieldName => $fieldValue) {
$this->assertTrue(isset($expectedHeaders[$fieldName]), sprintf('Response has unexpected header %s', $fieldName));
}
$this->assertEquals($expectedStatusCode, $response->getStatusCode());
$expectedContent = "<!DOCTYPE html>\n<html>\nthe body\n</html>";
$this->assertEquals($expectedContent, $response->getContent());
}