From aa615cbaa4ee9456277912d02f43d5e634b0f51d Mon Sep 17 00:00:00 2001 From: CraZy_DeveLopeR Date: Fri, 14 Feb 2020 13:33:39 +0100 Subject: [PATCH] Cookie: get all cookies --- .../Selenium2TestCase/Session/Cookie.php | 17 +++++++++++++++++ Tests/Selenium2TestCase/Coverage/CookieTest.php | 10 ++++++++++ 2 files changed, 27 insertions(+) diff --git a/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie.php b/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie.php index 58899a31..a1c401be 100644 --- a/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie.php +++ b/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie.php @@ -95,6 +95,23 @@ public function get($name) throw new \PHPUnit\Extensions\Selenium2TestCase\Exception("There is no '$name' cookie available on this page."); } + /** + * Return all cookies + * + * @return array [name => value] + */ + public function getAll() + { + $result = []; + + $cookies = $this->driver->curl('GET', $this->url)->getValue(); + foreach ($cookies as $cookie) { + $result[$cookie['name']] = $cookie['value']; + } + + return $result; + } + /** * @param string $name * @return void diff --git a/Tests/Selenium2TestCase/Coverage/CookieTest.php b/Tests/Selenium2TestCase/Coverage/CookieTest.php index 11f0aa02..5db85f80 100644 --- a/Tests/Selenium2TestCase/Coverage/CookieTest.php +++ b/Tests/Selenium2TestCase/Coverage/CookieTest.php @@ -43,4 +43,14 @@ public function testTestsHaveUniqueTestIdCookies($previousTestIdCookie) $this->url('/'); $this->assertNotEquals($this->getTestIdCookie(), $previousTestIdCookie); } + + public function testGetAll() + { + $cookies = $this->prepareSession()->cookie()->getAll(); + + $this->assertIsArray($cookies); + $this->assertCount(1, $cookies); + $this->assertArrayHasKey('PHPUNIT_SELENIUM_TEST_ID', $cookies); + $this->assertEquals($this->getTestId(), $cookies['PHPUNIT_SELENIUM_TEST_ID']); + } }