Skip to content

Commit 694681f

Browse files
authored
fix(symfony): do not ignore Test files on symfony (#7077)
fixes #7067
1 parent 6f15be5 commit 694681f

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/Laravel/ApiPlatformDeferredProvider.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ class ApiPlatformDeferredProvider extends ServiceProvider implements DeferrableP
9595
public function register(): void
9696
{
9797
$directory = app_path();
98-
$classes = ReflectionClassRecursiveIterator::getReflectionClassesFromDirectories([$directory]);
98+
$classes = ReflectionClassRecursiveIterator::getReflectionClassesFromDirectories([$directory], '(?!.*Test\.php$)');
9999

100100
$this->autoconfigure($classes, QueryExtensionInterface::class, [FilterQueryExtension::class]);
101101
$this->app->singleton(ItemProvider::class, function (Application $app) {

src/Metadata/Util/ReflectionClassRecursiveIterator.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@ private function __construct()
3333

3434
/**
3535
* @param string[] $directories
36+
* @param string $ignoreRegex Laravel uses (?!.*Test\.php$) to avoid loading pest class tests
3637
*
3738
* @return array<class-string, \ReflectionClass>
3839
*/
39-
public static function getReflectionClassesFromDirectories(array $directories): array
40+
public static function getReflectionClassesFromDirectories(array $directories, string $ignoreRegex = ''): array
4041
{
4142
$id = hash('xxh3', implode('', $directories));
4243
if (isset(self::$localCache[$id])) {
@@ -50,7 +51,7 @@ public static function getReflectionClassesFromDirectories(array $directories):
5051
new \RecursiveDirectoryIterator($path, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS),
5152
\RecursiveIteratorIterator::LEAVES_ONLY
5253
),
53-
'/^(?!.*Test\.php$).+\.php$/i',
54+
'/^'.$ignoreRegex.'.+\.php$/i',
5455
\RecursiveRegexIterator::GET_MATCH
5556
);
5657

0 commit comments

Comments
 (0)