public function testLogout()
{
$sessionLogoutHandler = $this->getMock('Symfony\\Component\\Security\\Http\\Logout\\SessionLogoutHandler');
$sessionLogoutHandler->expects($this->never())->method('logout');
$token = $this->getMock('Symfony\\Component\\Security\\Core\\Authentication\\Token\\TokenInterface');
$this->tokenStorage->expects($this->once())->method('getToken')->will($this->returnValue($token));
$request = new Request();
$logoutHandler1 = $this->getMock('Symfony\\Component\\Security\\Http\\Logout\\LogoutHandlerInterface');
$logoutHandler1->expects($this->once())->method('logout')->with($request, $this->isInstanceOf('Symfony\\Component\\HttpFoundation\\Response'), $token);
$logoutHandler2 = $this->getMock('Symfony\\Component\\Security\\Http\\Logout\\LogoutHandlerInterface');
$logoutHandler2->expects($this->once())->method('logout')->with($request, $this->isInstanceOf('Symfony\\Component\\HttpFoundation\\Response'), $token);
$this->authenticator->addLogoutHandler($sessionLogoutHandler);
$this->authenticator->addLogoutHandler($logoutHandler1);
$this->authenticator->addLogoutHandler($logoutHandler2);
$this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\Response', $this->authenticator->logout($request));
}