Skip to content

Commit fbcd94c

Browse files
fain182claude
andcommitted
Fix @throws tests to reflect actual dependency collection behavior
- Exception and other PHP core classes are filtered by isPhpCoreClass, so they should not be expected as collected dependencies - Restore NotBlank and UuidFactoryInterface in DocblockTypesResolverTest which were incorrectly removed from expectations - Replace deprecated PHP_7_4 constant with PHP_8_0 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent a9c081e commit fbcd94c

File tree

2 files changed

+18
-19
lines changed

2 files changed

+18
-19
lines changed

tests/Unit/Analyzer/DocblockTypesResolverTest.php

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -94,18 +94,17 @@ public function myMethod2(array $aParam, array $users): array
9494
$cd = $parser->getClassDescriptions()[0];
9595
$dep = $cd->getDependencies();
9696

97-
self::assertCount(10, $cd->getDependencies());
97+
self::assertCount(11, $cd->getDependencies());
9898
self::assertEquals('Application\Model\User', $dep[0]->getFQCN()->toString());
99-
self::assertEquals('Application\MyDto', $dep[1]->getFQCN()->toString());
100-
self::assertEquals('Domain\ValueObject', $dep[2]->getFQCN()->toString());
101-
self::assertEquals('Application\Model\User', $dep[3]->getFQCN()->toString());
102-
self::assertEquals('Application\Model\Product', $dep[4]->getFQCN()->toString());
103-
self::assertEquals('Domain\Foo\MyOtherClass', $dep[5]->getFQCN()->toString());
104-
self::assertEquals('Exception', $dep[6]->getFQCN()->toString());
105-
self::assertEquals('Domain\Foo\FooException', $dep[7]->getFQCN()->toString());
106-
self::assertEquals('Domain\Foo\BarException', $dep[8]->getFQCN()->toString());
107-
108-
self::assertEquals('Application\Model\User', $dep[9]->getFQCN()->toString());
109-
self::assertEquals(46, $dep[9]->getLine());
99+
self::assertEquals('Symfony\Component\Validator\Constraints\NotBlank', $dep[1]->getFQCN()->toString());
100+
self::assertEquals('UuidFactoryInterface', $dep[2]->getFQCN()->toString());
101+
self::assertEquals('Application\MyDto', $dep[3]->getFQCN()->toString());
102+
self::assertEquals('Domain\ValueObject', $dep[4]->getFQCN()->toString());
103+
self::assertEquals('Application\Model\User', $dep[5]->getFQCN()->toString());
104+
self::assertEquals('Application\Model\Product', $dep[6]->getFQCN()->toString());
105+
self::assertEquals('Domain\Foo\MyOtherClass', $dep[7]->getFQCN()->toString());
106+
self::assertEquals('Domain\Foo\FooException', $dep[8]->getFQCN()->toString());
107+
self::assertEquals('Domain\Foo\BarException', $dep[9]->getFQCN()->toString());
108+
self::assertEquals('Application\Model\User', $dep[10]->getFQCN()->toString());
110109
}
111110
}

tests/Unit/Analyzer/FileParser/CanParseDocblocksTest.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -525,21 +525,21 @@ public function method2()
525525
}
526526
EOF;
527527

528-
$fp = FileParserFactory::forPhpVersion(TargetPhpVersion::PHP_7_4);
528+
$fp = FileParserFactory::forPhpVersion(TargetPhpVersion::PHP_8_0);
529529
$fp->parse($code, 'relativePathName');
530530

531531
$cd = $fp->getClassDescriptions();
532532

533533
self::assertCount(1, $cd);
534534
$dependencies = $cd[0]->getDependencies();
535535

536-
// Should have 3 dependencies from @throws: FooException, BarException, Exception
537-
self::assertCount(3, $dependencies);
536+
// Should have 2 dependencies from @throws: FooException, BarException
537+
// \Exception is a PHP core class and is filtered out
538+
self::assertCount(2, $dependencies);
538539

539540
$fqcns = array_map(static fn ($dep) => $dep->getFQCN()->toString(), $dependencies);
540541
self::assertContains('Domain\FooException', $fqcns);
541542
self::assertContains('Domain\BarException', $fqcns);
542-
self::assertContains('Exception', $fqcns);
543543
}
544544

545545
public function test_it_collects_throws_tag_with_fully_qualified_names(): void
@@ -570,11 +570,11 @@ public function doSomething()
570570
self::assertCount(1, $cd);
571571
$dependencies = $cd[0]->getDependencies();
572572

573-
// Should have 3 dependencies from @throws
574-
self::assertCount(3, $dependencies);
573+
// Should have 2 dependencies from @throws
574+
// \Exception is a PHP core class and is filtered out
575+
self::assertCount(2, $dependencies);
575576

576577
$fqcns = array_map(static fn ($dep) => $dep->getFQCN()->toString(), $dependencies);
577-
self::assertContains('Exception', $fqcns);
578578
self::assertContains('Domain\FooException', $fqcns);
579579
self::assertContains('App\Services\BarException', $fqcns);
580580
}

0 commit comments

Comments
 (0)