2010-04-19 13:12:42 +01:00
< ? php
/*
2010-04-25 16:06:54 +01:00
* This file is part of the Symfony package .
2010-04-19 13:12:42 +01:00
*
2011-03-06 11:40:06 +00:00
* ( c ) Fabien Potencier < fabien @ symfony . com >
2010-04-19 13:12:42 +01:00
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
2010-08-20 22:09:55 +01:00
namespace Symfony\Tests\Component\BrowserKit ;
2010-04-19 13:12:42 +01:00
2010-08-20 22:09:55 +01:00
use Symfony\Component\BrowserKit\Response ;
2010-04-19 13:12:42 +01:00
class ResponseTest extends \PHPUnit_Framework_TestCase
{
2010-05-06 12:25:53 +01:00
public function testGetUri ()
{
$response = new Response ( 'foo' );
$this -> assertEquals ( 'foo' , $response -> getContent (), '->getContent() returns the content of the response' );
}
public function testGetStatus ()
{
$response = new Response ( 'foo' , 304 );
$this -> assertEquals ( '304' , $response -> getStatus (), '->getStatus() returns the status of the response' );
}
public function testGetHeaders ()
{
2010-06-23 15:24:24 +01:00
$response = new Response ( 'foo' , 200 , array ( 'foo' => 'bar' ));
2010-05-06 12:25:53 +01:00
$this -> assertEquals ( array ( 'foo' => 'bar' ), $response -> getHeaders (), '->getHeaders() returns the headers of the response' );
}
public function testGetHeader ()
{
2010-06-23 15:24:24 +01:00
$response = new Response ( 'foo' , 200 , array (
'Content-Type' => 'text/html' ,
'Set-Cookie' => array ( 'foo=bar' , 'bar=foo' ),
));
2010-05-06 12:25:53 +01:00
$this -> assertEquals ( 'text/html' , $response -> getHeader ( 'Content-Type' ), '->getHeader() returns a header of the response' );
$this -> assertEquals ( 'text/html' , $response -> getHeader ( 'content-type' ), '->getHeader() returns a header of the response' );
$this -> assertEquals ( 'text/html' , $response -> getHeader ( 'content_type' ), '->getHeader() returns a header of the response' );
2010-06-23 15:24:24 +01:00
$this -> assertEquals ( 'foo=bar' , $response -> getHeader ( 'Set-Cookie' ), '->getHeader() returns the first header value' );
$this -> assertEquals ( array ( 'foo=bar' , 'bar=foo' ), $response -> getHeader ( 'Set-Cookie' , false ), '->getHeader() returns all header values if first is false' );
2010-05-06 12:25:53 +01:00
$this -> assertNull ( $response -> getHeader ( 'foo' ), '->getHeader() returns null if the header is not defined' );
2010-06-23 15:24:24 +01:00
$this -> assertEquals ( array (), $response -> getHeader ( 'foo' , false ), '->getHeader() returns an empty array if the header is not defined and first is set to false' );
2010-05-06 12:25:53 +01:00
}
public function testMagicToString ()
{
2010-06-23 15:24:24 +01:00
$response = new Response ( 'foo' , 304 , array ( 'foo' => 'bar' ));
2010-05-06 12:25:53 +01:00
2010-06-23 15:24:24 +01:00
$this -> assertEquals ( " foo: bar \n \n foo " , $response -> __toString (), '->__toString() returns the headers and the content as a string' );
2010-05-06 12:25:53 +01:00
}
2011-02-11 18:11:48 +00:00
public function testMagicToStringWithMultipleSetCookieHeader ()
{
$headers = array (
'content-type' => 'text/html; charset=utf-8' ,
'set-cookie' => array ( 'foo=bar' , 'bar=foo' )
);
$expected = 'content-type: text/html; charset=utf-8' . " \n " ;
$expected .= 'set-cookie: foo=bar' . " \n " ;
$expected .= 'set-cookie: bar=foo' . " \n \n " ;
$expected .= 'foo' ;
$response = new Response ( 'foo' , 304 , $headers );
$this -> assertEquals ( $expected , $response -> __toString (), '->__toString() returns the headers and the content as a string' );
}
}