fix recursive directory iterators

This commit is contained in:
Dennis Eichhorn 2020-11-30 21:33:18 +01:00
parent d8ea389a70
commit e78da93a1a
4 changed files with 7 additions and 7 deletions

View File

@ -88,7 +88,7 @@ final class Directory extends FileAbstract implements DirectoryInterface
$iterator = $recursive $iterator = $recursive
? new \RecursiveIteratorIterator( ? new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS), new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::CURRENT_AS_PATHNAME),
\RecursiveIteratorIterator::SELF_FIRST) \RecursiveIteratorIterator::SELF_FIRST)
: new \DirectoryIterator($path); : new \DirectoryIterator($path);
@ -131,7 +131,7 @@ final class Directory extends FileAbstract implements DirectoryInterface
$iterator = $recursive $iterator = $recursive
? new \RecursiveIteratorIterator( ? new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS), new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::CURRENT_AS_PATHNAME),
\RecursiveIteratorIterator::SELF_FIRST) \RecursiveIteratorIterator::SELF_FIRST)
: new \DirectoryIterator($path); : new \DirectoryIterator($path);
@ -365,7 +365,7 @@ final class Directory extends FileAbstract implements DirectoryInterface
} }
foreach ($iterator = new \RecursiveIteratorIterator( foreach ($iterator = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($from, \RecursiveDirectoryIterator::SKIP_DOTS), new \RecursiveDirectoryIterator($from, \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::CURRENT_AS_PATHNAME),
\RecursiveIteratorIterator::SELF_FIRST) as $item \RecursiveIteratorIterator::SELF_FIRST) as $item
) { ) {
/** @var \RecursiveDirectoryIterator $iterator */ /** @var \RecursiveDirectoryIterator $iterator */

View File

@ -54,7 +54,7 @@ class Tar implements ArchiveInterface
if (\is_dir($source)) { if (\is_dir($source)) {
$files = new \RecursiveIteratorIterator( $files = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($source), new \RecursiveDirectoryIterator($source, \FilesystemIterator::CURRENT_AS_PATHNAME),
\RecursiveIteratorIterator::SELF_FIRST \RecursiveIteratorIterator::SELF_FIRST
); );

View File

@ -59,12 +59,12 @@ class Zip implements ArchiveInterface
if (\is_dir($source)) { if (\is_dir($source)) {
$files = new \RecursiveIteratorIterator( $files = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($source), new \RecursiveDirectoryIterator($source, \FilesystemIterator::CURRENT_AS_PATHNAME),
\RecursiveIteratorIterator::SELF_FIRST \RecursiveIteratorIterator::SELF_FIRST
); );
foreach ($files as $file) { foreach ($files as $file) {
$file = \str_replace('\\', '/', $file->key()); $file = \str_replace('\\', '/', $file);
/* Ignore . and .. */ /* Ignore . and .. */
if (($pos = \mb_strrpos($file, '/')) === false if (($pos = \mb_strrpos($file, '/')) === false

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="Bootstrap.php" colors="true" stopOnError="true" stopOnFailure="false" stopOnIncomplete="false" stopOnSkipped="false" beStrictAboutTestsThatDoNotTestAnything="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="Bootstrap.php" colors="true" stopOnError="false" stopOnFailure="false" stopOnIncomplete="false" stopOnSkipped="false" beStrictAboutTestsThatDoNotTestAnything="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
<coverage includeUncoveredFiles="true" processUncoveredFiles="false"> <coverage includeUncoveredFiles="true" processUncoveredFiles="false">
<include> <include>
<directory suffix=".php">.*</directory> <directory suffix=".php">.*</directory>