public function ResponseHeaderBagTest::testCookiesWithSameNames

File

drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php, line 79

Class

ResponseHeaderBagTest

Namespace

Symfony\Component\HttpFoundation\Tests

Code

public function testCookiesWithSameNames() {
  $bag = new ResponseHeaderBag();
  $bag
    ->setCookie(new Cookie('foo', 'bar', 0, '/path/foo', 'foo.bar'));
  $bag
    ->setCookie(new Cookie('foo', 'bar', 0, '/path/bar', 'foo.bar'));
  $bag
    ->setCookie(new Cookie('foo', 'bar', 0, '/path/bar', 'bar.foo'));
  $bag
    ->setCookie(new Cookie('foo', 'bar'));
  $this
    ->assertCount(4, $bag
    ->getCookies());
  $headers = explode("\r\n", $bag
    ->__toString());
  $this
    ->assertContains("Set-Cookie: foo=bar; path=/path/foo; domain=foo.bar; httponly", $headers);
  $this
    ->assertContains("Set-Cookie: foo=bar; path=/path/foo; domain=foo.bar; httponly", $headers);
  $this
    ->assertContains("Set-Cookie: foo=bar; path=/path/bar; domain=bar.foo; httponly", $headers);
  $this
    ->assertContains("Set-Cookie: foo=bar; httponly", $headers);
  $cookies = $bag
    ->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
  $this
    ->assertTrue(isset($cookies['foo.bar']['/path/foo']['foo']));
  $this
    ->assertTrue(isset($cookies['foo.bar']['/path/bar']['foo']));
  $this
    ->assertTrue(isset($cookies['bar.foo']['/path/bar']['foo']));
  $this
    ->assertTrue(isset($cookies['']['/']['foo']));
}