From 47933d218af262cb5e7ad71875478234b1426642 Mon Sep 17 00:00:00 2001 From: Andy Postnikov Date: Wed, 14 Aug 2024 03:24:36 +0200 Subject: [PATCH] Fix spec for PHP >= 8.4 #624 - finalname is not optional argument - make sure nullable is generated --- .../Doubler/Generator/ClassCodeGeneratorSpec.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php b/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php index 6f728de6..5de4fc8b 100644 --- a/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php +++ b/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php @@ -75,8 +75,7 @@ function it_generates_proper_php_code_for_specific_ClassNode( $method5->getCode()->willReturn('return;'); $argument11->getName()->willReturn('fullname'); - $argument11->isOptional()->willReturn(true); - $argument11->getDefault()->willReturn(null); + $argument11->isOptional()->willReturn(false); $argument11->isPassedByReference()->willReturn(false); $argument11->isVariadic()->willReturn(false); $argument11->getTypeNode()->willReturn(new ArgumentTypeNode('array')); @@ -116,7 +115,7 @@ class CustomClass extends \RuntimeException implements \Prophecy\Doubler\Generat public $name; private $email; -public static function getName(array $fullname = NULL, \ReflectionClass $class, object $instance): ?string { +public static function getName(array $fullname, \ReflectionClass $class, object $instance): ?string { return $this->name; } protected function getEmail(?string $default = 'ever.zet@gmail.com') { @@ -265,14 +264,14 @@ function it_overrides_properly_methods_with_args_passed_by_reference( $argument->getDefault()->willReturn(null); $argument->isPassedByReference()->willReturn(true); $argument->isVariadic()->willReturn(false); - $argument->getTypeNode()->willReturn(new ArgumentTypeNode('array')); + $argument->getTypeNode()->willReturn(new ArgumentTypeNode('array', 'null')); $code = $this->generate('CustomClass', $class); $expected = <<<'PHP' namespace { class CustomClass extends \RuntimeException implements \Prophecy\Doubler\Generator\MirroredInterface { -public function getName(array &$fullname = NULL) { +public function getName(?array &$fullname = NULL) { return $this->name; }