protected function MenuRouterTest::doTestThemeCallbackOptionalTheme in Drupal 8
Same name and namespace in other branches
- 9 core/modules/system/tests/src/Functional/Menu/MenuRouterTest.php \Drupal\Tests\system\Functional\Menu\MenuRouterTest::doTestThemeCallbackOptionalTheme()
Test the theme negotiation when it is set to use an optional theme.
1 call to MenuRouterTest::doTestThemeCallbackOptionalTheme()
- MenuRouterTest::testThemeIntegration in core/
modules/ system/ tests/ src/ Functional/ Menu/ MenuRouterTest.php - Tests theme integration.
File
- core/
modules/ system/ tests/ src/ Functional/ Menu/ MenuRouterTest.php, line 300
Class
- MenuRouterTest
- Tests menu router and default menu link functionality.
Namespace
Drupal\Tests\system\Functional\MenuCode
protected function doTestThemeCallbackOptionalTheme() {
// Request a theme that is not installed.
$this
->drupalGet('menu-test/theme-callback/use-test-theme');
$this
->assertText('Active theme: bartik. Actual theme: bartik.', 'The theme negotiation system falls back on the default theme when a theme that is not installed is requested.');
$this
->assertRaw('bartik/css/base/elements.css', "The default theme's CSS appears on the page.");
// Now install the theme and request it again.
/** @var \Drupal\Core\Extension\ThemeInstallerInterface $theme_installer */
$theme_installer = $this->container
->get('theme_installer');
$theme_installer
->install([
'test_theme',
]);
$this
->drupalGet('menu-test/theme-callback/use-test-theme');
$this
->assertText('Active theme: test_theme. Actual theme: test_theme.', 'The theme negotiation system uses an optional theme once it has been installed.');
$this
->assertRaw('test_theme/kitten.css', "The optional theme's CSS appears on the page.");
$theme_installer
->uninstall([
'test_theme',
]);
}