From ce7e1e6c9a39134c154c7ec883c670bdc1951cbd Mon Sep 17 00:00:00 2001 From: "jeanfrancois.simon" Date: Tue, 5 Jun 2012 10:37:06 +0200 Subject: [PATCH 1/4] [browser kit] Client now stores filtered response after request. --- src/Symfony/Component/BrowserKit/Client.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/BrowserKit/Client.php b/src/Symfony/Component/BrowserKit/Client.php index c57b9e37a1..06b64b3c47 100644 --- a/src/Symfony/Component/BrowserKit/Client.php +++ b/src/Symfony/Component/BrowserKit/Client.php @@ -264,17 +264,17 @@ abstract class Client $this->response = $this->doRequest($this->request); } - $response = $this->filterResponse($this->response); + $this->response = $this->filterResponse($this->response); - $this->cookieJar->updateFromResponse($response); + $this->cookieJar->updateFromResponse($this->response); - $this->redirect = $response->getHeader('Location'); + $this->redirect = $this->response->getHeader('Location'); if ($this->followRedirects && $this->redirect) { return $this->crawler = $this->followRedirect(); } - return $this->crawler = $this->createCrawlerFromContent($request->getUri(), $response->getContent(), $response->getHeader('Content-Type')); + return $this->crawler = $this->createCrawlerFromContent($request->getUri(), $this->response->getContent(), $this->response->getHeader('Content-Type')); } /** From 686854b24536c58724fe41a66426192fc27b2d40 Mon Sep 17 00:00:00 2001 From: "jeanfrancois.simon" Date: Tue, 5 Jun 2012 10:37:51 +0200 Subject: [PATCH 2/4] [http kernel] Added client response type test. --- src/Symfony/Component/HttpKernel/Tests/ClientTest.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Symfony/Component/HttpKernel/Tests/ClientTest.php b/src/Symfony/Component/HttpKernel/Tests/ClientTest.php index c1fc6619f9..0754bb4119 100644 --- a/src/Symfony/Component/HttpKernel/Tests/ClientTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/ClientTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\HttpKernel\Tests; +use Symfony\Component\BrowserKit\Response as DomResponse; use Symfony\Component\HttpKernel\Client; use Symfony\Component\HttpKernel\HttpKernel; use Symfony\Component\HttpFoundation\Request; @@ -34,6 +35,7 @@ class ClientTest extends \PHPUnit_Framework_TestCase $client->request('GET', '/'); $this->assertEquals('Request: /', $client->getResponse()->getContent(), '->doRequest() uses the request handler to make the request'); + $this->assertTrue($client->getResponse() instanceof DomResponse, '->getResponse() returns a Symfony\Component\BrowserKit\Response instance'); $client->request('GET', 'http://www.example.com/'); $this->assertEquals('Request: /', $client->getResponse()->getContent(), '->doRequest() uses the request handler to make the request'); From 110ccd8e71744fb351e2bdb3b261f0f107456cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Simon?= Date: Sat, 9 Jun 2012 12:37:27 +0200 Subject: [PATCH 3/4] [BrowserKit] Updated changelog. --- src/Symfony/Component/BrowserKit/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Symfony/Component/BrowserKit/CHANGELOG.md b/src/Symfony/Component/BrowserKit/CHANGELOG.md index 42d32a7efe..1fd9293c77 100644 --- a/src/Symfony/Component/BrowserKit/CHANGELOG.md +++ b/src/Symfony/Component/BrowserKit/CHANGELOG.md @@ -4,5 +4,9 @@ CHANGELOG 2.1.0 ----- + * [BR BREAK] The Symfony\Component\HttpKernel\Client::request() method + now returns a Symfony\Component\BrowserKit\Response instance + (instead of a Symfony\Component\HttpFoundation\Response instance) + * [BC BREAK] The CookieJar internals have changed to allow cookies with the same name on different sub-domains/sub-paths From 06976fcd8281b408e7b2f6de132bf9d70c8bf99e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Simon?= Date: Sat, 9 Jun 2012 12:40:37 +0200 Subject: [PATCH 4/4] Updated upgrade 2.1 file. --- UPGRADE-2.1.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/UPGRADE-2.1.md b/UPGRADE-2.1.md index 8f7d45bd74..8ea2128f76 100644 --- a/UPGRADE-2.1.md +++ b/UPGRADE-2.1.md @@ -1028,6 +1028,14 @@ decoded twice before. Note that the `urldecode()` calls have been changed for a single `rawurldecode()` in order to support `+` for input paths. +### BrowserKit + +#### BC Breaks + + * The Symfony\Component\HttpKernel\Client::request() method + now returns a Symfony\Component\BrowserKit\Response instance + (instead of a Symfony\Component\HttpFoundation\Response instance) + ### FrameworkBundle * session options: lifetime, path, domain, secure, httponly were deprecated.