From e93d98586a7f26dc480de98185fe7146cfbad2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20Hansl=C3=ADk?= Date: Sat, 17 Oct 2026 13:27:48 +0200 Subject: [PATCH] Run mutation tests on PHP 8.5 --- .github/workflows/continuous-integration.yml | 2 +- test/unit/Fixture/ClassForSourceStubber.php | 4 ---- .../Fixture/ClassForSourceStubberExpected.php | 3 --- ...elfAndParentParametersForSourceStubber.php | 14 ++++++++++++ ...rentParametersForSourceStubberExpected.php | 10 +++++++++ .../Fixture/PHP85ClassForSourceStubber.php | 14 ------------ .../PHP85ClassForSourceStubberExpected.php | 10 --------- ...rentParametersForSourceStubberExpected.php | 10 +++++++++ .../ReflectionSourceStubberTest.php | 22 ++++++++++++++----- 9 files changed, 51 insertions(+), 38 deletions(-) create mode 100644 test/unit/Fixture/ClassWithSelfAndParentParametersForSourceStubber.php create mode 100644 test/unit/Fixture/ClassWithSelfAndParentParametersForSourceStubberExpected.php delete mode 100644 test/unit/Fixture/PHP85ClassForSourceStubber.php delete mode 100644 test/unit/Fixture/PHP85ClassForSourceStubberExpected.php create mode 100644 test/unit/Fixture/PHP85ClassWithSelfAndParentParametersForSourceStubberExpected.php diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 72d995b03..0ed531201 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -151,7 +151,7 @@ jobs: dependencies: - "locked" php-version: - - "8.4" + - "8.5" operating-system: - "ubuntu-latest" diff --git a/test/unit/Fixture/ClassForSourceStubber.php b/test/unit/Fixture/ClassForSourceStubber.php index c625581a0..957082a3c 100644 --- a/test/unit/Fixture/ClassForSourceStubber.php +++ b/test/unit/Fixture/ClassForSourceStubber.php @@ -128,10 +128,6 @@ public function methodWithOptionalParameters(string $string = 'string', int $int { } - public function methodWithSelfAndParentParameters(self $self, parent $parent) : void - { - } - public function methodWithVariadicParameter(string ...$variadic) : void { } diff --git a/test/unit/Fixture/ClassForSourceStubberExpected.php b/test/unit/Fixture/ClassForSourceStubberExpected.php index 83cf382f0..1618af6ba 100644 --- a/test/unit/Fixture/ClassForSourceStubberExpected.php +++ b/test/unit/Fixture/ClassForSourceStubberExpected.php @@ -67,9 +67,6 @@ public function methodWithParametersWithNullableTypes(?string $string, ?int $int public function methodWithOptionalParameters(string $string = 'string', int $int = 123, float $float = 0.0, bool $bool = true, iterable $iterable = [], ?callable $callable = null): void { } - public function methodWithSelfAndParentParameters(self $self, parent $parent): void - { - } public function methodWithVariadicParameter(string ...$variadic): void { } diff --git a/test/unit/Fixture/ClassWithSelfAndParentParametersForSourceStubber.php b/test/unit/Fixture/ClassWithSelfAndParentParametersForSourceStubber.php new file mode 100644 index 000000000..a04a24db9 --- /dev/null +++ b/test/unit/Fixture/ClassWithSelfAndParentParametersForSourceStubber.php @@ -0,0 +1,14 @@ +getExtensionName()); } - #[RequiresPhp('<8.5.0')] public function testClassStub(): void { require_once __DIR__ . '/../../Fixture/ClassForSourceStubber.php'; @@ -189,15 +188,26 @@ public function testClassStubWithTypedConstants(): void self::assertStringEqualsFile(__DIR__ . '/../../Fixture/PHP83ClassForSourceStubberExpected.php', $stubData->getStub()); } + #[RequiresPhp('<8.5.0')] + public function testClassStubWithSelfAndParentParameters(): void + { + require_once __DIR__ . '/../../Fixture/ClassWithSelfAndParentParametersForSourceStubber.php'; + + $stubData = $this->stubber->generateClassStub(ClassWithSelfAndParentParametersForSourceStubber::class); + + self::assertNotNull($stubData); + self::assertStringEqualsFile(__DIR__ . '/../../Fixture/ClassWithSelfAndParentParametersForSourceStubberExpected.php', $stubData->getStub()); + } + #[RequiresPhp('>=8.5.0')] - public function testClassStubWithPHP85Changes(): void + public function testClassStubWithSelfAndParentParametersWithPHP85Changes(): void { - require_once __DIR__ . '/../../Fixture/PHP85ClassForSourceStubber.php'; + require_once __DIR__ . '/../../Fixture/ClassWithSelfAndParentParametersForSourceStubber.php'; - $stubData = $this->stubber->generateClassStub(PHP85ClassForSourceStubber::class); + $stubData = $this->stubber->generateClassStub(ClassWithSelfAndParentParametersForSourceStubber::class); self::assertNotNull($stubData); - self::assertStringEqualsFile(__DIR__ . '/../../Fixture/PHP85ClassForSourceStubberExpected.php', $stubData->getStub()); + self::assertStringEqualsFile(__DIR__ . '/../../Fixture/PHP85ClassWithSelfAndParentParametersForSourceStubberExpected.php', $stubData->getStub()); } public function testClassWithoutNamespaceStub(): void