Skip to content

Commit 7c77f6f

Browse files
committed
Cover changes with integration test
1 parent 2516175 commit 7c77f6f

File tree

2 files changed

+30
-1
lines changed
  • dev/tests/integration/testsuite/Magento/Framework/Filesystem/Driver
  • lib/internal/Magento/Framework/Filesystem/Driver

2 files changed

+30
-1
lines changed

dev/tests/integration/testsuite/Magento/Framework/Filesystem/Driver/FileTest.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,32 @@ protected function tearDown(): void
6464
$this->removeGeneratedDirectory();
6565
}
6666

67+
/**
68+
* Tests read directory with symlynked folders.
69+
*
70+
* @return void
71+
*/
72+
public function testReadDirectoryRecursivelyWithSymlinkedFolders(): void
73+
{
74+
$sourceDirectory = $this->generatedPath . '/source';
75+
$destinationDirectory = $this->generatedPath . '/destination';
76+
77+
$this->driver->createDirectory($sourceDirectory);
78+
$this->driver->createDirectory($sourceDirectory . '/directory1');
79+
$this->driver->createDirectory($destinationDirectory);
80+
81+
$linkName = $destinationDirectory . '/link';
82+
$this->driver->symlink($sourceDirectory, $linkName);
83+
84+
$paths = [
85+
$destinationDirectory . '/link' . '/directory1',
86+
$destinationDirectory . '/link'
87+
88+
];
89+
$actual = $this->driver->readDirectoryRecursively($destinationDirectory);
90+
$this->assertEquals($paths, $actual);
91+
}
92+
6793
/**
6894
* Tests directory recursive read.
6995
*

lib/internal/Magento/Framework/Filesystem/Driver/File.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -949,7 +949,10 @@ protected function getScheme($scheme = null)
949949
public function readDirectoryRecursively($path = null)
950950
{
951951
$result = [];
952-
$flags = \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::UNIX_PATHS;
952+
$flags = \FilesystemIterator::SKIP_DOTS |
953+
\FilesystemIterator::UNIX_PATHS |
954+
\RecursiveDirectoryIterator::FOLLOW_SYMLINKS;
955+
953956
try {
954957
$iterator = new \RecursiveIteratorIterator(
955958
new \RecursiveDirectoryIterator($path, $flags),

0 commit comments

Comments
 (0)