[HttpFoundation] JsonResponse::setEncodingOptions accepts also integer

Now you can set encoding options like:
```
$response->setEncodingOptions(JSON_UNESCAPED_UNICODE | $response->getEncodingOptions());
This commit is contained in:
Joseph Bielawski 2014-01-07 13:52:22 +01:00 committed by Joseph Bielawski
parent 74fb207a24
commit f8bc3b276f
2 changed files with 4 additions and 9 deletions

View File

@ -117,18 +117,13 @@ class JsonResponse extends Response
/**
* Sets options used while encoding data to JSON.
*
* @param array $encodingOptions
* @param integer $encodingOptions
*
* @return JsonResponse
*/
public function setEncodingOptions(array $encodingOptions)
public function setEncodingOptions($encodingOptions)
{
$this->encodingOptions = 0;
foreach ($encodingOptions as $encodingOption) {
if (($this->encodingOptions & $encodingOption) != $encodingOption) {
$this->encodingOptions |= $encodingOption;
}
}
$this->encodingOptions = (integer) $encodingOptions;
return $this->setData(json_decode($this->data));
}

View File

@ -180,7 +180,7 @@ class JsonResponseTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('[[1,2,3]]', $response->getContent());
$response->setEncodingOptions(array(JSON_FORCE_OBJECT));
$response->setEncodingOptions(JSON_FORCE_OBJECT);
$this->assertEquals('{"0":{"0":1,"1":2,"2":3}}', $response->getContent());
}