You are here

public function ScanDirectoryTest::testIgnoreDirectories in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/File/ScanDirectoryTest.php \Drupal\KernelTests\Core\File\ScanDirectoryTest::testIgnoreDirectories()
  2. 9 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 174

Class

ScanDirectoryTest
Tests \Drupal\Core\File\FileSystem::scanDirectory.

Namespace

Drupal\KernelTests\Core\File

Code

public function testIgnoreDirectories() {
  $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.');
}