Issue #2496801 by cilefen, Cottser: Change setGenerators to setUrlGenerator on TwigExtension

8.0.x
Alex Pott 2015-06-03 15:35:22 +01:00
parent 18cc89f13a
commit f08e28adc9
3 changed files with 17 additions and 2 deletions

View File

@ -1310,7 +1310,7 @@ services:
tags: tags:
- { name: twig.extension, priority: 100 } - { name: twig.extension, priority: 100 }
calls: calls:
- [setGenerators, ['@url_generator']] - [setUrlGenerator, ['@url_generator']]
- [setThemeManager, ['@theme.manager']] - [setThemeManager, ['@theme.manager']]
# @todo Figure out what to do about debugging functions. # @todo Figure out what to do about debugging functions.
# @see https://www.drupal.org/node/1804998 # @see https://www.drupal.org/node/1804998

View File

@ -65,8 +65,23 @@ class TwigExtension extends \Twig_Extension {
* The URL generator. * The URL generator.
* *
* @return $this * @return $this
*
* @deprecated in Drupal 8.0.x-dev, will be removed before Drupal 9.0.0.
* Use \Drupal\Core\Template\TwigExtension::setUrlGenerator().
*/ */
public function setGenerators(UrlGeneratorInterface $url_generator) { public function setGenerators(UrlGeneratorInterface $url_generator) {
return $this->setUrlGenerator($url_generator);
}
/**
* Sets the URL generator.
*
* @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator
* The URL generator.
*
* @return $this
*/
public function setUrlGenerator(UrlGeneratorInterface $url_generator) {
$this->urlGenerator = $url_generator; $this->urlGenerator = $url_generator;
return $this; return $this;
} }

View File

@ -32,7 +32,7 @@ class TwigExtensionTest extends UnitTestCase {
'autoescape' => TRUE, 'autoescape' => TRUE,
'optimizations' => 0 'optimizations' => 0
)); ));
$twig->addExtension((new TwigExtension($renderer))->setGenerators($this->getMock('Drupal\Core\Routing\UrlGeneratorInterface'))); $twig->addExtension((new TwigExtension($renderer))->setUrlGenerator($this->getMock('Drupal\Core\Routing\UrlGeneratorInterface')));
$nodes = $twig->parse($twig->tokenize($template)); $nodes = $twig->parse($twig->tokenize($template));