%PDF- %PDF-
| Direktori : /home/graphicd/www/vebto/vendor/willdurand/negotiation/tests/Negotiation/Tests/ |
| Current File : /home/graphicd/www/vebto/vendor/willdurand/negotiation/tests/Negotiation/Tests/BaseAcceptTest.php |
<?php
namespace Negotiation\Tests;
use Negotiation\BaseAccept;
class BaseAcceptTest extends TestCase
{
/**
* @dataProvider dataProviderForParseParameters
*/
public function testParseParameters($value, $expected)
{
$accept = new DummyAccept($value);
$parameters = $accept->getParameters();
// TODO: hack-ish... this is needed because logic in BaseAccept
//constructor drops the quality from the parameter set.
if (false !== strpos($value, 'q')) {
$parameters['q'] = $accept->getQuality();
}
$this->assertCount(count($expected), $parameters);
foreach ($expected as $key => $value) {
$this->assertArrayHasKey($key, $parameters);
$this->assertEquals($value, $parameters[$key]);
}
}
public static function dataProviderForParseParameters()
{
return array(
array(
'application/json ;q=1.0; level=2;foo= bar',
array(
'q' => 1.0,
'level' => 2,
'foo' => 'bar',
),
),
array(
'application/json ;q = 1.0; level = 2; FOO = bAr',
array(
'q' => 1.0,
'level' => 2,
'foo' => 'bAr',
),
),
array(
'application/json;q=1.0',
array(
'q' => 1.0,
),
),
array(
'application/json;foo',
array(),
),
);
}
/**
* @dataProvider dataProviderBuildParametersString
*/
public function testBuildParametersString($value, $expected)
{
$accept = new DummyAccept($value);
$this->assertEquals($expected, $accept->getNormalizedValue());
}
public static function dataProviderBuildParametersString()
{
return array(
array('media/type; xxx = 1.0;level=2;foo=bar', 'media/type; foo=bar; level=2; xxx=1.0'),
);
}
}
class DummyAccept extends BaseAccept
{
}