diff -u b/core/lib/Drupal/Core/Template/TwigExtension.php b/core/lib/Drupal/Core/Template/TwigExtension.php --- b/core/lib/Drupal/Core/Template/TwigExtension.php +++ b/core/lib/Drupal/Core/Template/TwigExtension.php @@ -80,7 +80,7 @@ new \Twig_SimpleFunction('url_from_path', array($this, 'getUrlFromPath'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))), new \Twig_SimpleFunction('link', array($this, 'getLink')), new \Twig_SimpleFunction('file_url', 'file_create_url'), - new \Twig_SimpleFunction('active_theme', 'activeTheme'), + new \Twig_SimpleFunction('active_theme', array($this, 'activeTheme')), ); } only in patch2: unchanged: --- a/core/modules/system/src/Tests/Theme/EngineTwigTest.php +++ b/core/modules/system/src/Tests/Theme/EngineTwigTest.php @@ -111,4 +111,12 @@ public function testTwigFileUrls() { $this->assertRaw('
file_url: ' . $filepath . '
'); } + /** + * Tests the active_theme() function. + */ + public function testActiveTheme() { + $this->drupalGet('/twig-theme-test/active_theme'); + $this->assertRaw('
active theme: classy
'); + } + } only in patch2: unchanged: --- a/core/modules/system/tests/modules/twig_theme_test/src/TwigThemeTestController.php +++ b/core/modules/system/tests/modules/twig_theme_test/src/TwigThemeTestController.php @@ -75,4 +75,11 @@ public function registryLoaderRender() { return array('#theme' => 'twig_registry_loader_test'); } + /** + * Menu callback for testing the active theme function. + */ + public function activeThemeRender() { + return array('#theme' => 'twig_theme_test_active_theme'); + } + } only in patch2: unchanged: --- /dev/null +++ b/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.active_theme.html.twig @@ -0,0 +1 @@ +
active theme: {{ active_theme() }}
only in patch2: unchanged: --- a/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.module +++ b/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.module @@ -50,6 +50,10 @@ function twig_theme_test_theme($existing, $type, $theme, $path) { 'variables' => array(), 'template' => 'twig_theme_test.file_url', ); + $items['twig_theme_test_active_theme'] = array( + 'variables' => array(), + 'template' => 'twig_theme_test.active_theme', + ); return $items; } only in patch2: unchanged: --- a/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.routing.yml +++ b/core/modules/system/tests/modules/twig_theme_test/twig_theme_test.routing.yml @@ -46,3 +46,10 @@ twig_theme_test_registry_loader: _controller: '\Drupal\twig_theme_test\TwigThemeTestController::registryLoaderRender' requirements: _access: 'TRUE' + +twig_theme_test_active_theme: + path: '/twig-theme-test/active_theme' + defaults: + _controller: '\Drupal\twig_theme_test\TwigThemeTestController::activeThemeRender' + requirements: + _access: 'TRUE'