namespace Symfony\Component\BrowserKit\Tests;
use PHPUnit\Framework\TestCase;
use Symfony\Component\BrowserKit\Cookie;
use Symfony\Component\BrowserKit\Exception\InvalidArgumentException;
use Symfony\Component\BrowserKit\Exception\UnexpectedValueException;
class CookieTest extends TestCase
{ public function testToString() { $cookie =
new Cookie('foo', 'bar',
strtotime('Fri, 20-May-2011 15:25:52 GMT'
), '/', '.myfoodomain.com', true
);
$this->
assertEquals('foo=bar; expires=Fri, 20 May 2011 15:25:52 GMT; domain=.myfoodomain.com; path=/; secure; httponly',
(string) $cookie, '->__toString() returns string representation of the cookie'
);
$cookie =
new Cookie('foo', 'bar with white spaces',
strtotime('Fri, 20-May-2011 15:25:52 GMT'
), '/', '.myfoodomain.com', true
);
$this->
assertEquals('foo=bar%20with%20white%20spaces; expires=Fri, 20 May 2011 15:25:52 GMT; domain=.myfoodomain.com; path=/; secure; httponly',
(string) $cookie, '->__toString() encodes the value of the cookie according to RFC 3986 (white space = %20)'
);
$cookie =
new Cookie('foo', null, 1, '/admin/', '.myfoodomain.com'
);
$this->
assertEquals('foo=; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=.myfoodomain.com; path=/admin/; httponly',
(string) $cookie, '->__toString() returns string representation of a cleared cookie if value is NULL'
);
$cookie =
new Cookie('foo', 'bar', 0, '/', ''
);
$this->
assertEquals('foo=bar; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; httponly',
(string) $cookie);