Skip to content
Snippets Groups Projects
Verified Commit 589a5168 authored by Lee Rowlands's avatar Lee Rowlands
Browse files

Issue #3478628 by oily, alexpott, catch, sheshsharma, osopolar, dunx, shane...

Issue #3478628 by oily, alexpott, catch, sheshsharma, osopolar, dunx, shane birley, joegl: Fatal error: Uncaught TypeError: Drupal\Core\Extension\ThemeHandler::addTheme()

(cherry picked from commit 22ef552a)
parent 677bd5a1
No related branches found
No related tags found
21 merge requests!12227Issue #3181946 by jonmcl, mglaman,!12079Issue #3523476 by matthiasm11: Add empty check on operator,!12024Fix: DocBlock comment for return value of Drupal\Core\Database\Connection::transactionManager(),!11974Draft: Issue #3495165 by catch, joeyroth, berdir, texas-bronius: Better warning...,!11934Issue #3520997: DefaultLazyPluginCollection unnecessarily instantiates plugins when sorting collection,!11887Issue #3520065: The migrate Row class API is incomplete,!11636Draft: Issue #3515643 by macsim: fieldNameExists method is inconsistent,!11515Issue #3480419 by mondrake, smustgrave, catch: Method...,!11380Issue #3490698 by catch, spokje: Bump MINIMUM_STABILITY back to 'stable' when...,!11281Use Drupal Core Leadership terminology in MAINTAINERS.txt,!11239Issue #3507548: Allow workspace changes listing to show all items, without a pager,!11238Fix issue #3051797,!11213Issue #3506743 by tomislav.matokovic: Increasing the color contrast for the navigation block title against the background of the navigation sidebar to at least 4.5:1,!11147Draft: Try to avoid manually setting required cache contexts,!11108Issue #3490298 by nicxvan: Profiles can be missed in OOP hooks,!11093Drupal on MongoDB 11.1.x,!11017Issue #3502540: Add date filter for moderated content.,!11009Issue #3486972 migrate feed icon,!10999Cleaning up Taxonomy hooks and updating baseline.,!10977Issue #3501457: Fix path used in a A11y Test Admin,!10881Issue #3489329 by mfb, casey: symfony/http-foundation commit 32310ff breaks PathValidator
Pipeline #380550 passed
Pipeline: drupal

#380552

    ......@@ -67,11 +67,18 @@ public function getDefault() {
    public function listInfo() {
    if (!isset($this->list)) {
    $this->list = [];
    $installed_themes = $this->configFactory->get('core.extension')->get('theme');
    $installed_themes = array_keys($this->configFactory->get('core.extension')->get('theme'));
    if (!empty($installed_themes)) {
    $list = $this->themeList->getList();
    foreach (array_keys($installed_themes) as $theme_name) {
    $this->addTheme($list[$theme_name]);
    foreach ($installed_themes as $theme) {
    // Do not add installed themes that cannot be found by the
    // extension.list.theme service. If a theme does go missing from the
    // file system any call to ::getTheme() will result in an exception
    // and an error being logged. Ignoring the problem here allows the
    // theme system to fix itself while updating.
    if (isset($list[$theme])) {
    $this->addTheme($list[$theme]);
    }
    }
    }
    }
    ......
    ......@@ -46,7 +46,7 @@ protected function setUp(): void {
    $this->configFactory = $this->getConfigFactoryStub([
    'core.extension' => [
    'module' => [],
    'theme' => [],
    'theme' => ['stark' => 'stark'],
    'disabled' => [
    'theme' => [],
    ],
    ......@@ -108,6 +108,16 @@ public function testThemeLibrariesEmpty(): void {
    }
    }
    /**
    * Test that a missing theme doesn't break ThemeHandler::listInfo().
    *
    * @covers ::listInfo
    */
    public function testMissingTheme(): void {
    $themes = $this->themeHandler->listInfo();
    $this->assertSame([], $themes);
    }
    }
    /**
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment