Skip to content

Commit

Permalink
Fix spec for PHP >= 8.4 #624
Browse files Browse the repository at this point in the history
- fullname argument is not optional
- make sure nullable array is generated
  • Loading branch information
andypost committed Oct 28, 2024
1 parent f425512 commit 89fb3d1
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php
Original file line number Diff line number Diff line change
Expand Up @@ -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'));
Expand Down Expand Up @@ -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 = '[email protected]') {
Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit 89fb3d1

Please sign in to comment.