From fc475892440b8af49c1f59748f5bf344903fd3c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Simon?= Date: Tue, 12 Mar 2013 16:50:09 +0100 Subject: [PATCH] [BrowserKit] added ability to ignored malformed set-cookie header --- src/Symfony/Component/BrowserKit/CookieJar.php | 6 +++++- src/Symfony/Component/BrowserKit/Tests/CookieJarTest.php | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/BrowserKit/CookieJar.php b/src/Symfony/Component/BrowserKit/CookieJar.php index 2a5c170884..d65bbf87dc 100644 --- a/src/Symfony/Component/BrowserKit/CookieJar.php +++ b/src/Symfony/Component/BrowserKit/CookieJar.php @@ -109,7 +109,11 @@ class CookieJar } foreach ($cookies as $cookie) { - $this->set(Cookie::fromString($cookie, $uri)); + try { + $this->set(Cookie::fromString($cookie, $uri)); + } catch (\InvalidArgumentException $e) { + // invalid cookies are just ignored + } } } diff --git a/src/Symfony/Component/BrowserKit/Tests/CookieJarTest.php b/src/Symfony/Component/BrowserKit/Tests/CookieJarTest.php index df5cc777d4..bdbd40e7fa 100644 --- a/src/Symfony/Component/BrowserKit/Tests/CookieJarTest.php +++ b/src/Symfony/Component/BrowserKit/Tests/CookieJarTest.php @@ -82,6 +82,13 @@ class CookieJarTest extends \PHPUnit_Framework_TestCase $this->assertEquals('bar', $cookieJar->get('bar')->getValue(), '->updateFromSetCookie() keeps existing cookies'); } + public function testUpdateFromEmptySetCookie() + { + $cookieJar = new CookieJar(); + $cookieJar->updateFromSetCookie(array('')); + $this->assertEquals(array(), $cookieJar->all()); + } + public function testUpdateFromSetCookieWithMultipleCookies() { $timestamp = time() + 3600;