diff -u b/core/core.services.yml b/core/core.services.yml --- b/core/core.services.yml +++ b/core/core.services.yml @@ -1322,7 +1322,8 @@ tags: - { name: twig.extension, priority: 100 } calls: - - [setGenerators, ['@url_generator', '@theme.manager']] + - [setGenerators, ['@url_generator']] + - [setThemeManager, ['@theme.manager']] # @todo Figure out what to do about debugging functions. # @see https://www.drupal.org/node/1804998 twig.extension.debug: 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 @@ -66,8 +66,20 @@ * * @return $this */ - public function setGenerators(UrlGeneratorInterface $url_generator, ThemeManagerInterface $theme_manager) { + public function setGenerators(UrlGeneratorInterface $url_generator) { $this->urlGenerator = $url_generator; + return $this; + } + + /** + * Sets the theme manager. + * + * @param \Drupal\Core\Theme\ThemeManagerInterface $theme_manager + * The theme manager. + * + * @return $this + */ + public function setThemeManager(ThemeManagerInterface $theme_manager) { $this->themeManager = $theme_manager; return $this; } diff -u b/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php b/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php --- b/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php +++ b/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php @@ -32,7 +32,7 @@ 'autoescape' => TRUE, 'optimizations' => 0 )); - $twig->addExtension((new TwigExtension($renderer))->setGenerators($this->getMock('Drupal\Core\Routing\UrlGeneratorInterface'), $this->getMock('Drupal\Core\Theme\ThemeManagerInterface'))); + $twig->addExtension((new TwigExtension($renderer))->setGenerators($this->getMock('Drupal\Core\Routing\UrlGeneratorInterface'))); $nodes = $twig->parse($twig->tokenize($template)); @@ -78,7 +78,6 @@ public function testActiveTheme() { $renderer = $this->getMock('\Drupal\Core\Render\RendererInterface'); $extension = new TwigExtension($renderer); - $url_generator = $this->getMock('\Drupal\Core\Routing\UrlGeneratorInterface'); $theme_manager = $this->getMock('\Drupal\Core\Theme\ThemeManagerInterface'); $active_theme = $this->getMockBuilder('\Drupal\Core\Theme\ActiveTheme') ->disableOriginalConstructor() @@ -91,7 +90,7 @@ ->expects($this->once()) ->method('getActiveTheme') ->willReturn($active_theme); - $extension->setGenerators($url_generator, $theme_manager); + $extension->setThemeManager($theme_manager); $loader = new \Twig_Loader_String(); $twig = new \Twig_Environment($loader);