From f8bc3b276fa3e24eee5e2ae041173fd9a4c81f3f Mon Sep 17 00:00:00 2001 From: Joseph Bielawski Date: Tue, 7 Jan 2014 13:52:22 +0100 Subject: [PATCH] [HttpFoundation] JsonResponse::setEncodingOptions accepts also integer Now you can set encoding options like: ``` $response->setEncodingOptions(JSON_UNESCAPED_UNICODE | $response->getEncodingOptions()); --- src/Symfony/Component/HttpFoundation/JsonResponse.php | 11 +++-------- .../HttpFoundation/Tests/JsonResponseTest.php | 2 +- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/Symfony/Component/HttpFoundation/JsonResponse.php b/src/Symfony/Component/HttpFoundation/JsonResponse.php index d7144edf56..004324bfed 100644 --- a/src/Symfony/Component/HttpFoundation/JsonResponse.php +++ b/src/Symfony/Component/HttpFoundation/JsonResponse.php @@ -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)); } diff --git a/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php b/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php index c027f34641..c7ea72676d 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php @@ -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()); }