function LibraryDiscoveryParserTest::testLibraryWithCssJsSetting

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php \Drupal\Tests\Core\Asset\LibraryDiscoveryParserTest::testLibraryWithCssJsSetting()
  2. 8.9.x core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php \Drupal\Tests\Core\Asset\LibraryDiscoveryParserTest::testLibraryWithCssJsSetting()
  3. 11.x core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php \Drupal\Tests\Core\Asset\LibraryDiscoveryParserTest::testLibraryWithCssJsSetting()

Tests a library with CSS/JavaScript and a setting.

@covers ::buildByExtension

File

core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php, line 404

Class

LibraryDiscoveryParserTest
@coversDefaultClass \Drupal\Core\Asset\LibraryDiscoveryParser[[api-linebreak]] @group Asset

Namespace

Drupal\Tests\Core\Asset

Code

public function testLibraryWithCssJsSetting() : void {
  $this->moduleHandler
    ->expects($this->atLeastOnce())
    ->method('moduleExists')
    ->with('css_js_settings')
    ->willReturn(TRUE);
  $path = __DIR__ . '/library_test_files';
  $path = substr($path, strlen($this->root) + 1);
  $this->extensionPathResolver
    ->expects($this->atLeastOnce())
    ->method('getPath')
    ->with('module', 'css_js_settings')
    ->willReturn($path);
  $libraries = $this->libraryDiscoveryParser
    ->buildByExtension('css_js_settings');
  $library = $libraries['example'];
  // Ensures that the group and type are set automatically.
  $this->assertEquals(-100, $library['js'][0]['group']);
  $this->assertEquals('file', $library['js'][0]['type']);
  $this->assertEquals($path . '/js/example.js', $library['js'][0]['data']);
  $this->assertEquals(0, $library['css'][0]['group']);
  $this->assertEquals('file', $library['css'][0]['type']);
  $this->assertEquals($path . '/css/base.css', $library['css'][0]['data']);
  $this->assertEquals([
    'key' => 'value',
  ], $library['drupalSettings']);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.