/** * SKIPPED - This test is untestable in the CLI environment. PHP ignores all * header() calls (which are used by Http_Abstract::setHeader()), thus, anything * that is expected to be found in http headers when inserted via header(), will * not be found. In addition, headers_sent() should always return false, until * real output is sent to the console. */ public function test__toString() { $skipHeadersTest = headers_sent(); if ($skipHeadersTest) { $this->markTestSkipped('Unable to run Zend_Controller_Response_Http::__toString() test as headers have already been sent'); return; } $this->_response->setHeader('Content-Type', 'text/plain'); $this->_response->setBody('Content'); $this->_response->appendBody('; and more content.'); $expected = 'Content; and more content.'; $result = $this->_response->__toString(); $this->assertSame($expected, $result); return; // header checking will not work if (!$skipHeadersTest) { $this->assertTrue(headers_sent()); $headers = headers_list(); $found = false; foreach ($headers as $header) { if ('Content-Type: text/plain' == $header) { $found = true; } } $this->assertTrue($found, var_export($headers, 1)); } }
/** * Sends a request and returns a response * * @param CartRecover_Request $request * @return Cart_Recover_Response */ public function sendRequest(CartRecover_Request $request) { $url = Guzzle\Http\Url::factory($request->getUri()); $url->setQuery($request->getParams()); $this->client->setBaseUrl($url); $grequest = $this->client->createRequest($request->getMethod(), $url); $grequest->addHeader('Accept', 'application/json'); $this->response = $this->client->send($grequest); if (!$this->response->isContentType('application/json')) { throw new CartRecover_Exception_UnexpectedValueException("Unknown response format."); } $response = new CartRecover_Response(); $response->setRawResponse($this->response->__toString()); $response->setBody($this->response->json()); $response->setHeaders($this->response->getHeaders()->toArray()); $response->setStatus($this->response->getReasonPhrase(), $this->response->getStatusCode()); return $response; }
public function test__toString() { $skipHeadersTest = headers_sent(); $this->_response->setHeader('Content-Type', 'text/plain'); $this->_response->setBody('Content'); $this->_response->appendBody('; and more content.'); $expected = 'Content; and more content.'; $result = $this->_response->__toString(); if (!$skipHeadersTest) { $this->assertTrue(headers_sent()); $headers = headers_list(); $found = false; foreach ($headers as $header) { if ('Content-Type: text/plain' == $header) { $found = true; } } $this->assertTrue($found, var_export($headers, 1)); } }