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
? new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS),
new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::CURRENT_AS_PATHNAME),
\RecursiveIteratorIterator::SELF_FIRST)
: new \DirectoryIterator($path);
@ -131,7 +131,7 @@ final class Directory extends FileAbstract implements DirectoryInterface
$iterator = $recursive
? new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS),
new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::CURRENT_AS_PATHNAME),
\RecursiveIteratorIterator::SELF_FIRST)
: new \DirectoryIterator($path);
@ -365,7 +365,7 @@ final class Directory extends FileAbstract implements DirectoryInterface
}
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
) {
/** @var \RecursiveDirectoryIterator $iterator */

View File

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

View File

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

View File

@ -1,5 +1,5 @@
<?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">
<include>
<directory suffix=".php">.*</directory>