From 2269c3f517d7d85021df12fcef1e649f8a76cffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Pineau?= Date: Wed, 21 Jun 2023 21:35:27 +0200 Subject: [PATCH] [Serializer] Refactor tests to not extends ObjectNormalizer --- .../AbstractObjectNormalizerTest.php | 21 +++++++++++++++++++ .../Tests/Normalizer/ObjectNormalizerTest.php | 13 ------------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php index c90ec1185f6b9..78046229eb329 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractObjectNormalizerTest.php @@ -724,6 +724,27 @@ public function testNormalizeUsesContextAttributeForProperties() $this->assertSame(['propertyWithoutNullSkipNullValues' => 'foo'], $data); } + + public function testDefaultExcludeFromCacheKey() + { + $object = new DummyChild(); + $object->bar = 'not called'; + + $normalizer = new class(null, null, null, null, null, [AbstractObjectNormalizer::EXCLUDE_FROM_CACHE_KEY => ['foo']]) extends AbstractObjectNormalizerDummy { + public function supportsNormalization(mixed $data, string $format = null, array $context = []): bool + { + AbstractObjectNormalizerTest::assertContains('foo', $this->defaultContext[ObjectNormalizer::EXCLUDE_FROM_CACHE_KEY]); + $data->bar = 'called'; + + return true; + } + }; + + $serializer = new Serializer([$normalizer]); + $serializer->normalize($object); + + $this->assertSame('called', $object->bar); + } } class AbstractObjectNormalizerDummy extends AbstractObjectNormalizer diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php index 5eba0707c67ea..d87b7a67a6f80 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php @@ -680,19 +680,6 @@ 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): bool - { - ObjectNormalizerTest::assertContains('foo', $this->defaultContext[ObjectNormalizer::EXCLUDE_FROM_CACHE_KEY]); - - return false; - } - }; - $normalizer->normalize(new ObjectDummy()); - } - public function testThrowUnexpectedValueException() { $this->expectException(UnexpectedValueException::class);