2010-06-16 09:19:24 +01:00
< ? php
/*
* This file is part of the Symfony package .
*
2011-03-06 11:40:06 +00:00
* ( c ) Fabien Potencier < fabien @ symfony . com >
2010-06-16 09:19:24 +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\HttpKernel ;
use Symfony\Component\HttpKernel\Client ;
use Symfony\Component\HttpKernel\HttpKernel ;
use Symfony\Component\HttpFoundation\Request ;
use Symfony\Component\HttpFoundation\Response ;
2010-06-16 09:19:24 +01:00
require_once __DIR__ . '/TestHttpKernel.php' ;
class TestClient extends Client
{
protected function getScript ( $request )
{
$script = parent :: getScript ( $request );
$script = preg_replace ( '/(\->register\(\);)/' , " $ 0 \n require_once ' " . __DIR__ . " /TestHttpKernel.php'; " , $script );
return $script ;
}
}
class ClientTest extends \PHPUnit_Framework_TestCase
{
public function testDoRequest ()
{
$client = new Client ( new TestHttpKernel ());
$client -> request ( 'GET' , '/' );
$this -> assertEquals ( 'Request: /' , $client -> getResponse () -> getContent (), '->doRequest() uses the request handler to make the request' );
$client -> request ( 'GET' , 'http://www.example.com/' );
$this -> assertEquals ( 'Request: /' , $client -> getResponse () -> getContent (), '->doRequest() uses the request handler to make the request' );
$this -> assertEquals ( 'www.example.com' , $client -> getRequest () -> getHost (), '->doRequest() uses the request handler to make the request' );
2011-03-09 18:48:41 +00:00
$client -> request ( 'GET' , 'http://www.example.com/?parameter=http://google.com' );
$this -> assertEquals ( 'http://www.example.com/?parameter=' . urlencode ( 'http://google.com' ), $client -> getRequest () -> getUri (), '->doRequest() uses the request handler to make the request' );
2010-06-16 09:19:24 +01:00
}
public function testGetScript ()
{
$client = new TestClient ( new TestHttpKernel ());
$client -> insulate ();
$client -> request ( 'GET' , '/' );
$this -> assertEquals ( 'Request: /' , $client -> getResponse () -> getContent (), '->getScript() returns a script that uses the request handler to make the request' );
}
}