function ThemeInfoTest::testStylesheets
Same name in other branches
- 9 core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php \Drupal\Tests\system\Functional\Theme\ThemeInfoTest::testStylesheets()
- 8.9.x core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php \Drupal\Tests\system\Functional\Theme\ThemeInfoTest::testStylesheets()
- 11.x core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php \Drupal\Tests\system\Functional\Theme\ThemeInfoTest::testStylesheets()
Tests libraries-override.
File
-
core/
modules/ system/ tests/ src/ Functional/ Theme/ ThemeInfoTest.php, line 61
Class
- ThemeInfoTest
- Tests processing of theme .info.yml properties.
Namespace
Drupal\Tests\system\Functional\ThemeCode
public function testStylesheets() : void {
$this->themeInstaller
->install([
'test_basetheme',
'test_subtheme',
]);
$this->config('system.theme')
->set('default', 'test_subtheme')
->save();
$base = $this->getThemePath('test_basetheme');
$sub = $this->getThemePath('test_subtheme') . '/css';
// All removals are expected to be based on a file's path and name and
// should work nevertheless.
$this->drupalGet('theme-test/info/stylesheets');
$this->assertSession()
->elementsCount('xpath', '//link[contains(@href, "' . $base . '/base-add.css")]', 1);
$this->assertSession()
->elementNotExists('xpath', '//link[contains(@href, "base-remove.css")]');
$this->assertSession()
->elementsCount('xpath', '//link[contains(@href, "' . $sub . '/sub-add.css")]', 1);
$this->assertSession()
->elementNotExists('xpath', '//link[contains(@href, "sub-remove.css")]');
$this->assertSession()
->elementNotExists('xpath', '//link[contains(@href, "base-add.sub-remove.css")]');
// Verify that CSS files with the same name are loaded from both the base theme and subtheme.
$this->assertSession()
->elementsCount('xpath', '//link[contains(@href, "' . $base . '/samename.css")]', 1);
$this->assertSession()
->elementsCount('xpath', '//link[contains(@href, "' . $sub . '/samename.css")]', 1);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.