From 136fc165873560a441021fcce3f1c6c7c8a9d5f1 Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Tue, 26 Nov 2024 16:01:27 +0100 Subject: [PATCH] [Serializer] Skip test if `symfony/property-info` doesn't support `phpstan/phpdoc-parser:2.0` yet --- .../Tests/Normalizer/ObjectNormalizerTest.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php index 4ff8c114db058..2d729a784b690 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; +use Composer\InstalledVersions; use Doctrine\Common\Annotations\AnnotationReader; use PHPStan\PhpDocParser\Parser\PhpDocParser; use PHPUnit\Framework\TestCase; @@ -753,6 +754,15 @@ public function testDoesntHaveIssuesWithUnionConstTypes() $this->markTestSkipped('phpstan/phpdoc-parser required for this test'); } + $versionRange = InstalledVersions::getVersionRanges('symfony/property-info'); + + if ( + '5.4.x-dev' !== $versionRange && version_compare($versionRange, '5.4.47', '<') + || version_compare($versionRange, '6', '>=') && '6.4.x-dev' !== $versionRange && version_compare($versionRange, '6.4.15', '<') + ) { + $this->markTestSkipped('PropertyInfo >= 5.4.47 or >= 6.4.15 is required for this test'); + } + $extractor = new PropertyInfoExtractor([], [new PhpStanExtractor(), new PhpDocExtractor(), new ReflectionExtractor()]); $normalizer = new ObjectNormalizer(null, null, null, $extractor); $serializer = new Serializer([new ArrayDenormalizer(), new DateTimeNormalizer(), $normalizer]);