function LibraryDiscoveryCollectorTest::testLibrariesExtend

Same name and namespace in other branches
  1. 10 core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryCollectorTest.php \Drupal\Tests\Core\Asset\LibraryDiscoveryCollectorTest::testLibrariesExtend()
  2. 11.x core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryCollectorTest.php \Drupal\Tests\Core\Asset\LibraryDiscoveryCollectorTest::testLibrariesExtend()

Tests library with an extend.

@covers ::applyLibrariesExtend

File

core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryCollectorTest.php, line 175

Class

LibraryDiscoveryCollectorTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Asset%21LibraryDiscoveryCollector.php/class/LibraryDiscoveryCollector/9" title="A CacheCollector implementation for building library extension info." class="local">\Drupal\Core\Asset\LibraryDiscoveryCollector</a> @group Asset

Namespace

Drupal\Tests\Core\Asset

Code

public function testLibrariesExtend() {
    $this->activeTheme = $this->getMockBuilder(ActiveTheme::class)
        ->disableOriginalConstructor()
        ->getMock();
    $this->themeManager
        ->expects($this->any())
        ->method('getActiveTheme')
        ->willReturn($this->activeTheme);
    $this->activeTheme
        ->expects($this->once())
        ->method('getName')
        ->willReturn('kitten_theme');
    $this->activeTheme
        ->expects($this->atLeastOnce())
        ->method('getLibrariesExtend')
        ->willReturn([
        'test/test_3' => [
            'kitten_theme/extend',
        ],
    ]);
    $this->libraryDiscoveryParser
        ->expects($this->exactly(2))
        ->method('buildByExtension')
        ->willReturnMap([
        [
            'test',
            $this->libraryData,
        ],
        [
            'kitten_theme',
            [
                'extend' => [
                    'css' => [
                        'theme' => [
                            'baz.css' => [],
                        ],
                    ],
                ],
            ],
        ],
    ]);
    $library_discovery_collector = new LibraryDiscoveryCollector($this->cache, $this->lock, $this->libraryDiscoveryParser, $this->themeManager);
    $libraries = $library_discovery_collector->get('test');
    $this->assertSame([
        'foo.css',
        'baz.css',
    ], array_keys($libraries['test_3']['css']['theme']));
}

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