Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d78a5d8

Browse files
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(), newFileHelper(__DIR__), $stubFiles, [$this->currentWorkingDirectory]);
5354
}
5455

5556
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /