You are here

public function LibraryDiscoveryParserTest::testNonCoreLibrariesNotFound in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php \Drupal\Tests\Core\Asset\LibraryDiscoveryParserTest::testNonCoreLibrariesNotFound()
  2. 9 core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php \Drupal\Tests\Core\Asset\LibraryDiscoveryParserTest::testNonCoreLibrariesNotFound()

@covers ::buildByExtension

File

core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php, line 791
Contains \Drupal\Tests\Core\Asset\LibraryDiscoveryParserTest.

Class

LibraryDiscoveryParserTest
@coversDefaultClass \Drupal\Core\Asset\LibraryDiscoveryParser @group Asset

Namespace

Drupal\Tests\Core\Asset

Code

public function testNonCoreLibrariesNotFound() {
  $this->moduleHandler
    ->expects($this
    ->atLeastOnce())
    ->method('moduleExists')
    ->with('example_contrib_module')
    ->will($this
    ->returnValue(TRUE));
  $path = __DIR__ . '/library_test_files';
  $path = substr($path, strlen($this->root) + 1);
  $this->extensionPathResolver
    ->expects($this
    ->once())
    ->method('getPath')
    ->willReturnMap([
    [
      'module',
      'example_contrib_module',
      $path,
    ],
    [
      'profile',
      'library_testing',
      'profiles/library_testing',
    ],
  ]);
  $this->librariesDirectoryFileFinder
    ->expects($this
    ->once())
    ->method('find')
    ->with('third_party_library/css/example.css')
    ->will($this
    ->returnValue(FALSE));
  $libraries = $this->libraryDiscoveryParser
    ->buildByExtension('example_contrib_module');
  $library = $libraries['third_party_library'];
  $this
    ->assertCount(0, $library['js']);
  $this
    ->assertCount(1, $library['css']);
  $this
    ->assertCount(0, $library['dependencies']);

  // The location will be the same as provided in the library definition even
  // though it does not exist.
  $this
    ->assertEquals('libraries/third_party_library/css/example.css', $library['css'][0]['data']);
}