1
0
mirror of https://github.com/guzzle/guzzle.git synced 2025-02-26 19:15:10 +01:00
guzzle/tests/Guzzle/Tests/Http/CookieTest.php
2011-07-07 17:17:28 -05:00

77 lines
2.0 KiB
PHP

<?php
namespace Guzzle\Tests\Http;
use Guzzle\Http\Cookie;
/**
* @author Michael Dowling <michael@guzzlephp.org>
*/
class CookieTest extends \Guzzle\Tests\GuzzleTestCase
{
/**
* Data provider for tests
*
* @return array
*/
public function provider()
{
return array(
array('name=value', array(
'name' => 'value'
)),
array('name=value;name2=value 2', array(
'name' => 'value',
'name2' => 'value 2'
)),
array('name=value;name2=x=y&a=b', array(
'name' => 'value',
'name2' => 'x=y&a=b'
)),
);
}
/**
* @covers Guzzle\Http\Cookie::factory
* @dataProvider provider
*/
public function testFactoryBuildsCookiesFromCookieStrings($cookieString, array $data)
{
$jar = Cookie::factory($cookieString);
$this->assertEquals($data, $jar->getAll());
}
/**
* @covers Guzzle\Http\Cookie::__construct
*/
public function testConstructorSetsDefaults()
{
$jar = new Cookie();
$this->assertEquals(';', $jar->getFieldSeparator());
$this->assertEquals('=', $jar->getValueSeparator());
$this->assertEquals(false, $jar->isEncodingFields());
$this->assertEquals(false, $jar->isEncodingValues());
$this->assertEquals('', $jar->getPrefix());
}
/**
* @covers Guzzle\Http\QueryString::__toString
* @dataProvider provider
*/
public function testConvertsToString($cookieString)
{
$cookie = Cookie::factory($cookieString);
$this->assertEquals($cookieString, (string) $cookie);
}
/**
* @covers Guzzle\Http\QueryString
* @covers Guzzle\Http\Cookie
*/
public function testAggregatesMultipleCookieValues()
{
$cookie = Cookie::factory('name=a;name=b');
$this->assertEquals(array('a', 'b'), $cookie->get('name'));
$this->assertEquals('name=a;name=b', (string) $cookie);
}
}