You are here

public function LibraryDiscoveryIntegrationTest::testLibrariesOverrideMalformedAsset in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/Asset/LibraryDiscoveryIntegrationTest.php \Drupal\KernelTests\Core\Asset\LibraryDiscoveryIntegrationTest::testLibrariesOverrideMalformedAsset()

Tests libraries-override on malformed assets.

File

core/tests/Drupal/KernelTests/Core/Asset/LibraryDiscoveryIntegrationTest.php, line 120

Class

LibraryDiscoveryIntegrationTest
Tests the library discovery and library discovery parser.

Namespace

Drupal\KernelTests\Core\Asset

Code

public function testLibrariesOverrideMalformedAsset() {

  // Activate test theme that overrides with a malformed asset.
  $this
    ->activateTheme('test_theme_libraries_override_with_invalid_asset');

  // Assert that improperly formed asset "specs" throw an exception.
  try {
    $this->libraryDiscovery
      ->getLibraryByName('core', 'drupal.dialog');
    $this
      ->fail('Throw Exception when specifying invalid override');
  } catch (InvalidLibrariesOverrideSpecificationException $e) {
    $expected_message = 'Library asset core/drupal.dialog/css is not correctly specified. It should be in the form "extension/library_name/sub_key/path/to/asset.js".';
    $this
      ->assertEquals($expected_message, $e
      ->getMessage(), 'Throw Exception when specifying invalid override');
  }
}