Skip to content

Commit d78a5d8

Browse files
committed
DefaultStubFilesProvider - normalize stub file paths
1 parent c71e75e commit d78a5d8

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/PhpDoc/DefaultStubFilesProvider.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
use PHPStan\DependencyInjection\AutowiredParameter;
66
use PHPStan\DependencyInjection\AutowiredService;
77
use PHPStan\DependencyInjection\Container;
8+
use PHPStan\File\FileHelper;
89
use PHPStan\Internal\ComposerHelper;
910
use function array_filter;
1011
use function array_values;
1112
use function str_contains;
12-
use function strtr;
1313

1414
#[AutowiredService(as: StubFilesProvider::class)]
1515
final class DefaultStubFilesProvider implements StubFilesProvider
@@ -27,6 +27,7 @@ final class DefaultStubFilesProvider implements StubFilesProvider
2727
*/
2828
public function __construct(
2929
private Container $container,
30+
private FileHelper $fileHelper,
3031
#[AutowiredParameter]
3132
private array $stubFiles,
3233
#[AutowiredParameter]
@@ -45,7 +46,7 @@ public function getStubFiles(): array
4546
$extensions = $this->container->getServicesByTag(StubFilesExtension::EXTENSION_TAG);
4647
foreach ($extensions as $extension) {
4748
foreach ($extension->getFiles() as $extensionFile) {
48-
$files[] = $extensionFile;
49+
$files[] = $this->fileHelper->normalizePath($extensionFile);
4950
}
5051
}
5152

@@ -66,10 +67,10 @@ public function getProjectStubFiles(): array
6667
}
6768

6869
$vendorDir = ComposerHelper::getVendorDirFromComposerConfig($composerAutoloaderProjectPath, $composerConfig);
69-
$vendorDir = strtr($vendorDir, '\\', '/');
70+
$vendorDir = $this->fileHelper->normalizePath($vendorDir);
7071
$filteredStubFiles = array_filter(
7172
$filteredStubFiles,
72-
static fn (string $file): bool => !str_contains(strtr($file, '\\', '/'), $vendorDir),
73+
static fn (string $file): bool => !str_contains($file, $vendorDir),
7374
);
7475
}
7576

tests/PHPStan/PhpDoc/DefaultStubFilesProviderTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace PHPStan\PhpDoc;
44

55
use Override;
6+
use PHPStan\File\FileHelper;
67
use PHPStan\Testing\PHPStanTestCase;
78
use function sprintf;
89

@@ -49,7 +50,7 @@ public function testGetProjectStubFilesWhenPathContainsWindowsSeparator(): void
4950
*/
5051
private function createDefaultStubFilesProvider(array $stubFiles): DefaultStubFilesProvider
5152
{
52-
return new DefaultStubFilesProvider($this->getContainer(), $stubFiles, [$this->currentWorkingDirectory]);
53+
return new DefaultStubFilesProvider($this->getContainer(), new FileHelper(__DIR__), $stubFiles, [$this->currentWorkingDirectory]);
5354
}
5455

5556
}

0 commit comments

Comments
 (0)