20250204
This commit is contained in:
15
vendor/phpunit/php-file-iterator/src/Factory.php
vendored
15
vendor/phpunit/php-file-iterator/src/Factory.php
vendored
@@ -37,8 +37,6 @@ final class Factory
|
||||
* @param list<non-empty-string>|string $suffixes
|
||||
* @param list<non-empty-string>|string $prefixes
|
||||
* @param list<non-empty-string> $exclude
|
||||
*
|
||||
* @phpstan-ignore missingType.generics
|
||||
*/
|
||||
public function getFileIterator(array|string $paths, array|string $suffixes = '', array|string $prefixes = '', array $exclude = []): AppendIterator
|
||||
{
|
||||
@@ -115,7 +113,7 @@ final class Factory
|
||||
*
|
||||
* @return list<string>
|
||||
*/
|
||||
private function globstar(string $pattern): array
|
||||
private function globstar(string $pattern)
|
||||
{
|
||||
if (stripos($pattern, '**') === false) {
|
||||
$files = glob($pattern, GLOB_ONLYDIR);
|
||||
@@ -127,24 +125,23 @@ final class Factory
|
||||
$patterns = [$rootPattern . $restPattern];
|
||||
$rootPattern .= '/*';
|
||||
|
||||
while ($directories = glob($rootPattern, GLOB_ONLYDIR)) {
|
||||
while ($dirs = glob($rootPattern, GLOB_ONLYDIR)) {
|
||||
$rootPattern .= '/*';
|
||||
|
||||
foreach ($directories as $directory) {
|
||||
$patterns[] = $directory . $restPattern;
|
||||
foreach ($dirs as $dir) {
|
||||
$patterns[] = $dir . $restPattern;
|
||||
}
|
||||
}
|
||||
|
||||
$files = [];
|
||||
|
||||
foreach ($patterns as $_pattern) {
|
||||
$files = array_merge($files, $this->globstar($_pattern));
|
||||
foreach ($patterns as $pat) {
|
||||
$files = array_merge($files, $this->globstar($pat));
|
||||
}
|
||||
}
|
||||
|
||||
if ($files !== false) {
|
||||
$files = array_unique($files);
|
||||
|
||||
sort($files);
|
||||
|
||||
return $files;
|
||||
|
@@ -9,6 +9,7 @@
|
||||
*/
|
||||
namespace SebastianBergmann\FileIterator;
|
||||
|
||||
use function assert;
|
||||
use function preg_match;
|
||||
use function realpath;
|
||||
use function str_ends_with;
|
||||
@@ -24,8 +25,8 @@ use SplFileInfo;
|
||||
*/
|
||||
final class Iterator extends FilterIterator
|
||||
{
|
||||
public const int PREFIX = 0;
|
||||
public const int SUFFIX = 1;
|
||||
public const PREFIX = 0;
|
||||
public const SUFFIX = 1;
|
||||
private false|string $basePath;
|
||||
|
||||
/**
|
||||
@@ -55,6 +56,8 @@ final class Iterator extends FilterIterator
|
||||
{
|
||||
$current = $this->getInnerIterator()->current();
|
||||
|
||||
assert($current instanceof SplFileInfo);
|
||||
|
||||
$filename = $current->getFilename();
|
||||
$realPath = $current->getRealPath();
|
||||
|
||||
|
Reference in New Issue
Block a user