From 116110ae32c1d287e53fd4ecf327155bd7b05644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Sun, 5 Apr 2020 12:28:35 +0200 Subject: [PATCH] Add test and fix exception message --- .../Normalizer/AbstractObjectNormalizer.php | 2 +- .../Tests/Normalizer/ObjectNormalizerTest.php | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php index 392e19e71e373..6e532453c8ca0 100644 --- a/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php +++ b/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php @@ -359,7 +359,7 @@ public function denormalize($data, $type, $format = null, array $context = []) try { $this->setAttributeValue($object, $attribute, $value, $format, $context); } catch (InvalidArgumentException $e) { - throw new NotNormalizableValueException(sprintf('Failed to denormalize attribute "%s" value for class "%s": "%s".', $attribute, $type, $e->getMessage()), $e->getCode(), $e); + throw new NotNormalizableValueException(sprintf('Failed to denormalize attribute "%s" value for class "%s": '.$e->getMessage(), $attribute, $type), $e->getCode(), $e); } } diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php index b1ea04a1d71b8..d21c53667003c 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php @@ -741,6 +741,17 @@ public function testNormalizeNotSerializableContext() }])); } + public function testDefaultExcludeFromCacheKey() + { + $normalizer = new class(null, null, null, null, null, null, [ObjectNormalizer::EXCLUDE_FROM_CACHE_KEY => ['foo']]) extends ObjectNormalizer { + protected function isCircularReference($object, &$context) + { + ObjectNormalizerTest::assertContains('foo', $this->defaultContext[ObjectNormalizer::EXCLUDE_FROM_CACHE_KEY]); + } + }; + $normalizer->normalize(new ObjectDummy()); + } + public function testThrowUnexpectedValueException() { $this->expectException('Symfony\Component\Serializer\Exception\UnexpectedValueException');