/
CookieClearingLogoutHandlerTest.php
42 lines (30 loc) · 1.33 KB
/
CookieClearingLogoutHandlerTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
namespace Symfony\Tests\Component\HttpKernel\Security\Logout;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Security\Logout\CookieClearingLogoutHandler;
class CookieClearingLogoutHandlerTest extends \PHPUnit_Framework_TestCase
{
public function testConstructor()
{
$cookieNames = array('foo', 'foo2', 'foo3');
$handler = new CookieClearingLogoutHandler($cookieNames);
$this->assertEquals($cookieNames, $handler->getCookieNames());
}
public function testLogout()
{
$request = new Request();
$response = new Response();
$token = $this->getMock('Symfony\Component\Security\Authentication\Token\TokenInterface');
$handler = new CookieClearingLogoutHandler(array('foo', 'foo2'));
$this->assertFalse($response->headers->has('Set-Cookie'));
$handler->logout($request, $response, $token);
$headers = $response->headers->all();
$cookies = $headers['set-cookie'];
$this->assertEquals(2, count($cookies));
$cookie = $cookies[0];
$this->assertStringStartsWith('foo=;', $cookie);
$cookie = $cookies[1];
$this->assertStringStartsWith('foo2=;', $cookie);
}
}