You are here

public function ThemeInfoTest::testChanges in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php \Drupal\Tests\system\Functional\Theme\ThemeInfoTest::testChanges()
  2. 9 core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php \Drupal\Tests\system\Functional\Theme\ThemeInfoTest::testChanges()

Tests that changes to the info file are picked up.

File

core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php, line 90

Class

ThemeInfoTest
Tests processing of theme .info.yml properties.

Namespace

Drupal\Tests\system\Functional\Theme

Code

public function testChanges() {
  $this->themeInstaller
    ->install([
    'test_theme',
  ]);
  $this
    ->config('system.theme')
    ->set('default', 'test_theme')
    ->save();
  $this->themeManager
    ->resetActiveTheme();
  $active_theme = $this->themeManager
    ->getActiveTheme();

  // Make sure we are not testing the wrong theme.
  $this
    ->assertEquals('test_theme', $active_theme
    ->getName());
  $this
    ->assertEquals([
    'classy/base',
    'classy/messages',
    'core/normalize',
    'test_theme/global-styling',
  ], $active_theme
    ->getLibraries());

  // @see theme_test_system_info_alter()
  $this->state
    ->set('theme_test.modify_info_files', TRUE);
  $this
    ->resetAll();
  $active_theme = $this->themeManager
    ->getActiveTheme();
  $this
    ->assertEquals([
    'classy/base',
    'classy/messages',
    'core/normalize',
    'test_theme/global-styling',
    'core/once',
  ], $active_theme
    ->getLibraries());
}