diff -u b/core/lib/Drupal/Core/Theme/ActiveTheme.php b/core/lib/Drupal/Core/Theme/ActiveTheme.php --- b/core/lib/Drupal/Core/Theme/ActiveTheme.php +++ b/core/lib/Drupal/Core/Theme/ActiveTheme.php @@ -202,11 +202,12 @@ * Otherwise use the default logo.svg file as fallback. * * @return string + * The logo. */ public function getLogo() { - $config = $this->getExtension(); - if (isset($config->info['logo']) && !empty($config->info['logo'])) { - $logo = $config->info['logo']; + $extension = $this->getExtension(); + if (isset($extension->info['logo']) && !empty($extension->info['logo'])) { + $logo = $extension->info['logo']; } else { $logo = 'logo.svg'; diff -u b/core/tests/Drupal/KernelTests/Core/Theme/ThemeSettingsTest.php b/core/tests/Drupal/KernelTests/Core/Theme/ThemeSettingsTest.php --- b/core/tests/Drupal/KernelTests/Core/Theme/ThemeSettingsTest.php +++ b/core/tests/Drupal/KernelTests/Core/Theme/ThemeSettingsTest.php @@ -65,42 +65,43 @@ */ - public function testLogoConfig() { - $theme_handler = $this->container->get('theme_handler'); - $theme_handler->install(array('test_basetheme')); - $theme_handler->setDefault('test_basetheme'); - $theme = $theme_handler->getTheme('test_basetheme'); - - // Test default behaviour. - $default = file_url_transform_relative(file_create_url($theme->getPath() . '/logo.svg')); - $this->assertIdentical($default, theme_get_setting('logo.url')); - - $config = $this->config('test_basetheme.settings'); - - drupal_static_reset('theme_get_setting'); - - $values = [ - 'default_logo' => FALSE, - 'logo_path' => 'public://logo_with_scheme.png', - ]; - theme_settings_convert_to_config($values, $config)->save(); - - // Test filename with scheme. - $this->assertIdentical( - file_url_transform_relative(file_create_url('public://logo_with_scheme.png')), - theme_get_setting('logo.url') - ); - - drupal_static_reset('theme_get_setting'); - - $values = [ - 'default_logo' => FALSE, - 'logo_path' => $theme->getPath() . '/logo_relative_path.gif', - ]; - theme_settings_convert_to_config($values, $config)->save(); + public function testLogoConfig() { + $theme_handler = $this->container->get('theme_handler'); + $theme_handler->install(array('test_basetheme')); + $theme_handler->setDefault('test_basetheme'); + $theme = $theme_handler->getTheme('test_basetheme'); + + // Test default behaviour. + $default = file_url_transform_relative(file_create_url($theme->getPath() . '/logo.svg')); + $this->assertSame($default, theme_get_setting('logo.url')); + + $config = $this->config('test_basetheme.settings'); + + drupal_static_reset('theme_get_setting'); + + $values = [ + 'default_logo' => FALSE, + 'logo_path' => 'public://logo_with_scheme.png', + ]; + theme_settings_convert_to_config($values, $config)->save(); + + // Test filename with scheme. + $this->assertSame( + file_url_transform_relative(file_create_url('public://logo_with_scheme.png')), + theme_get_setting('logo.url') + ); + + drupal_static_reset('theme_get_setting'); - // Test relative path. - $this->assertIdentical( + $values = [ + 'default_logo' => FALSE, + 'logo_path' => $theme->getPath() . '/logo_relative_path.gif', + ]; + theme_settings_convert_to_config($values, $config)->save(); + + // Test relative path. + $this->assertSame( file_url_transform_relative(file_create_url($theme->getPath() . '/logo_relative_path.gif')), theme_get_setting('logo.url') - ); - } + ); + } + }