From 9d1f4ed34d47d0b507b58bce60787b67ccd99fcf Mon Sep 17 00:00:00 2001 From: lalshe Date: Fri, 6 Dec 2019 21:30:17 +0200 Subject: [PATCH 1/3] Use `@require` annotation to run test only on php 7.4 --- .../Symfony/SymfonyMessageSerializerTest.php | 58 +++++++++---------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/tests/Symfony/SymfonyMessageSerializerTest.php b/tests/Symfony/SymfonyMessageSerializerTest.php index 934ee95..743977d 100644 --- a/tests/Symfony/SymfonyMessageSerializerTest.php +++ b/tests/Symfony/SymfonyMessageSerializerTest.php @@ -244,48 +244,46 @@ static function (Author $author): string /** * @test * + * @requires PHP >= 7.4 + * * @throws \Throwable */ public function legacyPropertiesSupport(): void { - if (\PHP_VERSION_ID >= 70400) - { - $serializer = new SymfonyMessageSerializer(); - - $object = new MixedWithLegacy( - 'qwerty', - new \DateTimeImmutable('2019-01-01', new \DateTimeZone('UTC')), - 100500 - ); - - /** @var MixedWithLegacy $unserialized */ - $unserialized = $serializer->decode($serializer->encode($object)); - - static::assertSame($object->string, $unserialized->string); - static::assertSame($object->dateTime->getTimestamp(), $unserialized->dateTime->getTimestamp()); - static::assertSame($object->long, $unserialized->long); - } + $serializer = new SymfonyMessageSerializer(); + + $object = new MixedWithLegacy( + 'qwerty', + new \DateTimeImmutable('2019-01-01', new \DateTimeZone('UTC')), + 100500 + ); + + /** @var MixedWithLegacy $unserialized */ + $unserialized = $serializer->decode($serializer->encode($object)); + + static::assertSame($object->string, $unserialized->string); + static::assertSame($object->dateTime->getTimestamp(), $unserialized->dateTime->getTimestamp()); + static::assertSame($object->long, $unserialized->long); } /** * @test * + * @requires PHP >= 7.4 + * * @throws \Throwable */ public function privateMixedPropertiesSupport(): void { - if (\PHP_VERSION_ID >= 70400) - { - $serializer = new SymfonyMessageSerializer(); - - $object = new WithPrivateProperties( - 'Some string', - 100500, - now() - ); - - /** @var WithPrivateProperties $unserialized */ - $unserialized = $serializer->decode($serializer->encode($object)); - } + $serializer = new SymfonyMessageSerializer(); + + $object = new WithPrivateProperties( + 'Some string', + 100500, + now() + ); + + /** @var WithPrivateProperties $unserialized */ + $unserialized = $serializer->decode($serializer->encode($object)); } } From 6da05fc4aabf1ca3fc43b7e306e0a50c475e2afe Mon Sep 17 00:00:00 2001 From: lalshe Date: Fri, 6 Dec 2019 21:31:45 +0200 Subject: [PATCH 2/3] Initialize property --- src/Symfony/Extensions/PropertyNameConverter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Extensions/PropertyNameConverter.php b/src/Symfony/Extensions/PropertyNameConverter.php index 7c0a263..64d5ccf 100644 --- a/src/Symfony/Extensions/PropertyNameConverter.php +++ b/src/Symfony/Extensions/PropertyNameConverter.php @@ -24,7 +24,7 @@ final class PropertyNameConverter implements NameConverterInterface * * @psalm-var array */ - private $localStorage; + private $localStorage = []; /** * {@inheritdoc} From 543378c3ff6f3ea542c03d7d346e5a21c3acfc8f Mon Sep 17 00:00:00 2001 From: lalshe Date: Fri, 6 Dec 2019 21:32:03 +0200 Subject: [PATCH 3/3] Suppress only vendor-related error --- psalm.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/psalm.xml b/psalm.xml index 8db1592..12c91d1 100644 --- a/psalm.xml +++ b/psalm.xml @@ -19,6 +19,10 @@ - + + + + +