You are here

ThemeEarlyInitializationTest.php in Drupal 9

File

core/modules/system/tests/src/Functional/Theme/ThemeEarlyInitializationTest.php
View source
<?php

namespace Drupal\Tests\system\Functional\Theme;

use Drupal\Tests\BrowserTestBase;

/**
 * Tests that the theme system can be correctly initialized early in the page
 * request.
 *
 * @group Theme
 */
class ThemeEarlyInitializationTest extends BrowserTestBase {

  /**
   * Modules to enable.
   *
   * @var array
   */
  protected static $modules = [
    'theme_test',
  ];

  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'classy';

  /**
   * Tests that the theme system can generate output in a request listener.
   */
  public function testRequestListener() {
    $this
      ->drupalGet('theme-test/request-listener');

    // Verify that themed output generated in the request listener appears.
    $this
      ->assertSession()
      ->responseContains('Themed output generated in a KernelEvents::REQUEST listener');

    // Verify that the default theme's CSS still appears even though the theme
    // system was initialized early.
    $this
      ->assertSession()
      ->responseContains('classy/css/components/action-links.css');
  }

}

Classes

Namesort descending Description
ThemeEarlyInitializationTest Tests that the theme system can be correctly initialized early in the page request.