function ScanDirectoryTest::testIgnoreDirectories

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/File/ScanDirectoryTest.php \Drupal\KernelTests\Core\File\ScanDirectoryTest::testIgnoreDirectories()
  2. 8.9.x core/tests/Drupal/KernelTests/Core/File/ScanDirectoryTest.php \Drupal\KernelTests\Core\File\ScanDirectoryTest::testIgnoreDirectories()
  3. 10 core/tests/Drupal/KernelTests/Core/File/ScanDirectoryTest.php \Drupal\KernelTests\Core\File\ScanDirectoryTest::testIgnoreDirectories()

Tests ::scanDirectory obeys 'file_scan_ignore_directories' setting.

@covers ::scanDirectory

File

core/tests/Drupal/KernelTests/Core/File/ScanDirectoryTest.php, line 175

Class

ScanDirectoryTest
Tests <a href="/api/drupal/core%21lib%21Drupal%21Core%21File%21FileSystem.php/class/FileSystem/11.x" title="Provides helpers to operate on files and stream wrappers." class="local">\Drupal\Core\File\FileSystem</a>::scanDirectory.

Namespace

Drupal\KernelTests\Core\File

Code

public function testIgnoreDirectories() : void {
    $files = $this->fileSystem
        ->scanDirectory('core/modules/system/tests/fixtures/IgnoreDirectories', '/\\.txt$/');
    $this->assertCount(2, $files, '2 text files found when not ignoring directories.');
    $this->setSetting('file_scan_ignore_directories', [
        'frontend_framework',
    ]);
    $files = $this->fileSystem
        ->scanDirectory('core/modules/system/tests/fixtures/IgnoreDirectories', '/\\.txt$/');
    $this->assertCount(1, $files, '1 text files found when ignoring directories called "frontend_framework".');
    // Ensure that the directories in file_scan_ignore_directories are escaped
    // using preg_quote.
    $this->setSetting('file_scan_ignore_directories', [
        'frontend.*',
    ]);
    $files = $this->fileSystem
        ->scanDirectory('core/modules/system/tests/fixtures/IgnoreDirectories', '/\\.txt$/');
    $this->assertCount(2, $files, '2 text files found when ignoring a directory that is not there.');
    $files = $this->fileSystem
        ->scanDirectory('core/modules/system/tests/fixtures/IgnoreDirectories', '/\\.txt$/', [
        'nomask' => '/^something_thing_else$/',
    ]);
    $this->assertCount(2, $files, '2 text files found when an "nomask" option is passed in.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.