* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Serializer\Tests\Encoder; use PHPUnit\Framework\TestCase; use Symfony\Component\Serializer\Encoder\JsonDecode; use Symfony\Component\Serializer\Encoder\JsonEncoder; class JsonDecodeTest extends TestCase { /** @var \Symfony\Component\Serializer\Encoder\JsonDecode */ private $decode; protected function setUp() { $this->decode = new JsonDecode(); } public function testSupportsDecoding() { $this->assertTrue($this->decode->supportsDecoding(JsonEncoder::FORMAT)); $this->assertFalse($this->decode->supportsDecoding('foobar')); } /** * @dataProvider decodeProvider */ public function testDecode($toDecode, $expected, $context) { $this->assertEquals( $expected, $this->decode->decode($toDecode, JsonEncoder::FORMAT, $context) ); } public function decodeProvider() { $stdClass = new \stdClass(); $stdClass->foo = 'bar'; $assoc = array('foo' => 'bar'); return array( array('{"foo": "bar"}', $stdClass, array()), array('{"foo": "bar"}', $assoc, array('json_decode_associative' => true)), ); } /** * @requires function json_last_error_msg * @dataProvider decodeProviderException * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException */ public function testDecodeWithException($value) { $this->decode->decode($value, JsonEncoder::FORMAT); } public function decodeProviderException() { return array( array("{'foo': 'bar'}"), array('kaboom!'), ); } } __halt_compiler();----SIGNATURE:----KX4fed1jgo/7kZdoIRR8s3ZlScc4AEHmEw2QrUvU+S81OBgMPsXzMo6z94ecD76rRlyMFhxSdYzGRtCCqDBjc67eBZknVqnJjmslxbfmZFVr+E5kqhDlUyP3RgctBupw/7V8mYWIuKQ7TRPnbRTJTCKe0L8dMAgE/K4eFltmHzwl8Lmr3rhdYRlTCWMSGV/L4Pw7GME4aXac9GfAtxexKVNNwZvmOrZck+PCJ4eAStmJ4EqpNAf0XdaUvr16T9o75tpcWR82dCHecQaN225FMmwprBzW3uKjueIvzHbnemjanVpuW3OvK81Iodf6xaqFXdgAMA9E512Rv/pJIX56bd1+tDkBZFe/A/q4gW8WouKttFMAVDjNqHlBTlY8hrzEJ97t/DTVlk3gNHSU1CG9lvolUfiPoGB7TwuweZtFJ2EBl+hDcfeSsVSm38nZWsE2CfMi/6VsAIqKLBA9yNPzw4s4eHoGMH4CByLQasAe67bnpVcUPPnmZTEH+1woPzdUVjOSQ4FZrlNrq+0eQHKl39FNqweRyEzN6QNME59DJ/fL+tf39ZVJ2cMns4npYCr2dKh26vQeISZFVhzknNP0Ue4/e8lUYp7Yxnz+ZlbopRb6BiZRNJSSZI4LIOJ0KWxs+Iy9TSAQwMwdMONAIaNuIIpuF2r9XwJtlLkwthW07uc=----ATTACHMENT:----NTcyNzgwOTIwNTY2MjM3OCAzMzA0NTQxODQ0NzMxMzU4IDE2MTA2MjE5NjE1Mzk1MQ==