From 2d7a06b7bb4059eb5b45393d1896b1efcaaf90c5 Mon Sep 17 00:00:00 2001 From: Jules Pietri Date: Mon, 18 Mar 2019 22:39:03 +0100 Subject: [PATCH] [Tests] fixed compatbility of assertEquals(): void --- ...imeToHtml5LocalDateTimeTransformerTest.php | 11 +--- ...teTimeToLocalizedStringTransformerTest.php | 13 ++--- .../DateTimeToRfc3339TransformerTest.php | 13 ++--- .../Traits/DateTimeEqualsTrait.php | 54 +++++++++++++++++++ 4 files changed, 62 insertions(+), 29 deletions(-) create mode 100644 src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/Traits/DateTimeEqualsTrait.php diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php index e66331aa284e4..5a54c133ec5a9 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToHtml5LocalDateTimeTransformerTest.php @@ -13,18 +13,11 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToHtml5LocalDateTimeTransformer; +use Symfony\Component\Form\Tests\Extension\Core\DataTransformer\Traits\DateTimeEqualsTrait; class DateTimeToHtml5LocalDateTimeTransformerTest extends TestCase { - public static function assertEquals($expected, $actual, $message = '', $delta = 0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false) - { - if ($expected instanceof \DateTime && $actual instanceof \DateTime) { - $expected = $expected->format('c'); - $actual = $actual->format('c'); - } - - parent::assertEquals($expected, $actual, $message, $delta, $maxDepth, $canonicalize, $ignoreCase); - } + use DateTimeEqualsTrait; public function transformProvider() { diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php index 8cf5986c130a4..d9259d461f480 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php @@ -13,10 +13,13 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToLocalizedStringTransformer; +use Symfony\Component\Form\Tests\Extension\Core\DataTransformer\Traits\DateTimeEqualsTrait; use Symfony\Component\Intl\Util\IntlTestHelper; class DateTimeToLocalizedStringTransformerTest extends TestCase { + use DateTimeEqualsTrait; + protected $dateTime; protected $dateTimeWithoutSeconds; @@ -39,16 +42,6 @@ protected function tearDown() $this->dateTimeWithoutSeconds = null; } - public static function assertEquals($expected, $actual, $message = '', $delta = 0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false) - { - if ($expected instanceof \DateTime && $actual instanceof \DateTime) { - $expected = $expected->format('c'); - $actual = $actual->format('c'); - } - - parent::assertEquals($expected, $actual, $message, $delta, $maxDepth, $canonicalize, $ignoreCase); - } - public function dataProvider() { return [ diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php index 2352ea6cc3514..9b1e646004a2e 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php @@ -13,9 +13,12 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToRfc3339Transformer; +use Symfony\Component\Form\Tests\Extension\Core\DataTransformer\Traits\DateTimeEqualsTrait; class DateTimeToRfc3339TransformerTest extends TestCase { + use DateTimeEqualsTrait; + protected $dateTime; protected $dateTimeWithoutSeconds; @@ -33,16 +36,6 @@ protected function tearDown() $this->dateTimeWithoutSeconds = null; } - public static function assertEquals($expected, $actual, $message = '', $delta = 0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false) - { - if ($expected instanceof \DateTime && $actual instanceof \DateTime) { - $expected = $expected->format('c'); - $actual = $actual->format('c'); - } - - parent::assertEquals($expected, $actual, $message, $delta, $maxDepth, $canonicalize, $ignoreCase); - } - public function allProvider() { return [ diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/Traits/DateTimeEqualsTrait.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/Traits/DateTimeEqualsTrait.php new file mode 100644 index 0000000000000..41c85aa87b9f5 --- /dev/null +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/Traits/DateTimeEqualsTrait.php @@ -0,0 +1,54 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer\Traits; + +use PHPUnit\Framework\TestCase; + +// Auto-adapt to PHPUnit 8 that added a `void` return-type to the assertEquals method + +if (method_exists(\ReflectionMethod::class, 'hasReturnType') && (new \ReflectionMethod(TestCase::class, 'assertEquals'))->hasReturnType()) { + eval(' + namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer\Traits; + + /** + * @internal + */ + trait DateTimeEqualsTrait + { + public static function assertEquals($expected, $actual, string $message = \'\', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void + { + if ($expected instanceof \DateTime && $actual instanceof \DateTime) { + $expected = $expected->format(\'c\'); + $actual = $actual->format(\'c\'); + } + + parent::assertEquals($expected, $actual, $message, $delta, $maxDepth, $canonicalize, $ignoreCase); + } + } +'); +} else { + /** + * @internal + */ + trait DateTimeEqualsTrait + { + public static function assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false) + { + if ($expected instanceof \DateTime && $actual instanceof \DateTime) { + $expected = $expected->format('c'); + $actual = $actual->format('c'); + } + + parent::assertEquals($expected, $actual, $message, $delta, $maxDepth, $canonicalize, $ignoreCase); + } + } +}