You are here

public function ScanDirectoryTest::testReturn in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/File/ScanDirectoryTest.php \Drupal\KernelTests\Core\File\ScanDirectoryTest::testReturn()

Check the format of the returned values.

@covers ::scanDirectory

File

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

Class

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

Namespace

Drupal\KernelTests\Core\File

Code

public function testReturn() {

  // Grab a listing of all the JavaScript files and check that they're
  // passed to the callback.
  $all_files = $this->fileSystem
    ->scanDirectory($this->path, '/^javascript-/');
  ksort($all_files);
  $this
    ->assertCount(2, $all_files, 'Found two, expected javascript files.');

  // Check the first file.
  $file = reset($all_files);
  $this
    ->assertEquals(key($all_files), $file->uri, 'Correct array key was used for the first returned file.');
  $this
    ->assertEquals($this->path . '/javascript-1.txt', $file->uri, 'First file name was set correctly.');
  $this
    ->assertEquals('javascript-1.txt', $file->filename, 'First basename was set correctly');
  $this
    ->assertEquals('javascript-1', $file->name, 'First name was set correctly.');

  // Check the second file.
  $file = next($all_files);
  $this
    ->assertEquals(key($all_files), $file->uri, 'Correct array key was used for the second returned file.');
  $this
    ->assertEquals($this->path . '/javascript-2.script', $file->uri, 'Second file name was set correctly.');
  $this
    ->assertEquals('javascript-2.script', $file->filename, 'Second basename was set correctly');
  $this
    ->assertEquals('javascript-2', $file->name, 'Second name was set correctly.');
}