You are here

public function ThemeInstallerTest::testInstall in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/Theme/ThemeInstallerTest.php \Drupal\KernelTests\Core\Theme\ThemeInstallerTest::testInstall()
  2. 10 core/tests/Drupal/KernelTests/Core/Theme/ThemeInstallerTest.php \Drupal\KernelTests\Core\Theme\ThemeInstallerTest::testInstall()

Tests installing a theme.

File

core/tests/Drupal/KernelTests/Core/Theme/ThemeInstallerTest.php, line 61

Class

ThemeInstallerTest
Tests installing and uninstalling of themes.

Namespace

Drupal\KernelTests\Core\Theme

Code

public function testInstall() {
  $name = 'test_basetheme';
  $themes = $this
    ->themeHandler()
    ->listInfo();
  $this
    ->assertFalse(isset($themes[$name]));
  $this
    ->themeInstaller()
    ->install([
    $name,
  ]);
  $this
    ->assertSame(0, $this
    ->extensionConfig()
    ->get("theme.{$name}"));
  $themes = $this
    ->themeHandler()
    ->listInfo();
  $this
    ->assertTrue(isset($themes[$name]));
  $this
    ->assertEquals($name, $themes[$name]
    ->getName());

  // Verify that test_basetheme.settings is active.
  $this
    ->assertFalse(theme_get_setting('features.favicon', $name));
  $this
    ->assertEquals('only', theme_get_setting('base', $name));
  $this
    ->assertEquals('base', theme_get_setting('override', $name));
}