You are here

public function SystemListingTest::testFileScanIgnoreDirectory in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/system/tests/src/Kernel/Common/SystemListingTest.php \Drupal\Tests\system\Kernel\Common\SystemListingTest::testFileScanIgnoreDirectory()
  2. 9 core/modules/system/tests/src/Kernel/Common/SystemListingTest.php \Drupal\Tests\system\Kernel\Common\SystemListingTest::testFileScanIgnoreDirectory()

Tests that directories matching file_scan_ignore_directories are ignored.

File

core/modules/system/tests/src/Kernel/Common/SystemListingTest.php, line 56

Class

SystemListingTest
Tests scanning system directories in drupal_system_listing().

Namespace

Drupal\Tests\system\Kernel\Common

Code

public function testFileScanIgnoreDirectory() {
  $listing = new ExtensionDiscovery($this->root, FALSE);
  $listing
    ->setProfileDirectories([
    'core/profiles/testing',
  ]);
  $files = $listing
    ->scan('module');
  $this
    ->assertArrayHasKey('drupal_system_listing_compatible_test', $files);

  // Reset the static to force a re-scan of the directories.
  $reflected_class = new \ReflectionClass(ExtensionDiscovery::class);
  $reflected_property = $reflected_class
    ->getProperty('files');
  $reflected_property
    ->setAccessible(TRUE);
  $reflected_property
    ->setValue($reflected_class, []);
  $this
    ->setSetting('file_scan_ignore_directories', [
    'drupal_system_listing_compatible_test',
  ]);
  $listing = new ExtensionDiscovery($this->root, FALSE);
  $listing
    ->setProfileDirectories([
    'core/profiles/testing',
  ]);
  $files = $listing
    ->scan('module');
  $this
    ->assertArrayNotHasKey('drupal_system_listing_compatible_test', $files);
}