function ThemeTest::testFrontPageThemeSuggestion
Same name in other branches
- 9 core/modules/system/tests/src/Functional/Theme/ThemeTest.php \Drupal\Tests\system\Functional\Theme\ThemeTest::testFrontPageThemeSuggestion()
- 8.9.x core/modules/system/tests/src/Functional/Theme/ThemeTest.php \Drupal\Tests\system\Functional\Theme\ThemeTest::testFrontPageThemeSuggestion()
- 11.x core/modules/system/tests/src/Functional/Theme/ThemeTest.php \Drupal\Tests\system\Functional\Theme\ThemeTest::testFrontPageThemeSuggestion()
Ensure page-front template suggestion is added when on front page.
File
-
core/
modules/ system/ tests/ src/ Functional/ Theme/ ThemeTest.php, line 77
Class
- ThemeTest
- Tests low-level theme functions.
Namespace
Drupal\Tests\system\Functional\ThemeCode
public function testFrontPageThemeSuggestion() : void {
// Set the current route to user.login because theme_get_suggestions() will
// query it to see if we are on the front page.
$request = Request::create('/user/login');
$request->attributes
->set(RouteObjectInterface::ROUTE_NAME, 'user.login');
$request->attributes
->set(RouteObjectInterface::ROUTE_OBJECT, new Route('/user/login'));
\Drupal::requestStack()->push($request);
$this->config('system.site')
->set('page.front', '/user/login')
->save();
$suggestions = theme_get_suggestions([
'user',
'login',
], 'page');
// Set it back to not annoy the batch runner.
\Drupal::requestStack()->pop();
$this->assertContains('page__front', $suggestions, 'Front page template was suggested.');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.