test_support-1.0.x-dev/tests/src/Traits/Installs/InstallsTheme.php
tests/src/Traits/Installs/InstallsTheme.php
<?php
namespace Drupal\Tests\test_support\Traits\Installs;
trait InstallsTheme
{
/** @var bool */
private $setupThemeDependencies = false;
/** @param string|string[] $themes */
public function installThemes($themes): self
{
$this->setupThemeDependencies();
foreach ((array) $themes as $theme) {
$this->container
->get('theme_installer')
->install((array) $theme);
$this->container
->get('config.factory')
->getEditable('system.theme')
->set('default', $theme)
->save();
}
$this->container->set('theme.registry', null);
return $this;
}
private function setupThemeDependencies(): void
{
if ($this->setupThemeDependencies) {
return;
}
$this->setupThemeDependencies = true;
$this->enableModules([
'system',
]);
$this->installConfig('system');
}
}
