diff --git a/core/lib/Drupal/Core/Template/TwigExtension.php b/core/lib/Drupal/Core/Template/TwigExtension.php index f7991be..b9ad12c 100644 --- a/core/lib/Drupal/Core/Template/TwigExtension.php +++ b/core/lib/Drupal/Core/Template/TwigExtension.php @@ -70,8 +70,8 @@ public function getFunctions() { return array( // This function will receive a renderable array, if an array is detected. new \Twig_SimpleFunction('render', 'twig_render_var'), - // render and render_var do the same thing. render_var is only kept for - // backwards compatibility. + // 'render' and 'render_var' do the same thing. 'render_var' is only kept + // for backwards compatibility. new \Twig_SimpleFunction('render_var', 'twig_render_var'), // The url and path function are defined in close parallel to those found // in \Symfony\Bridge\Twig\Extension\RoutingExtension diff --git a/core/modules/system/src/Tests/Theme/TwigFunctionTest.php b/core/modules/system/src/Tests/Theme/TwigFunctionTest.php index 0f76a5f..0ea63ca 100644 --- a/core/modules/system/src/Tests/Theme/TwigFunctionTest.php +++ b/core/modules/system/src/Tests/Theme/TwigFunctionTest.php @@ -27,31 +27,39 @@ class TwigFunctionTest extends KernelTestBase { * Tests the Twig 'render' function. */ public function testTwigRenderFunction() { - $element = [ - '#type' => 'inline_template', - '#template' => '{% set cats = render(animals.some_cats_i_know) %}{{ cats }}', - '#context' => ['animals' => [ - 'some_cats_i_know' => [ - '#theme' => 'item_list', - '#title' => t('Some cats I know'), - '#items' => [ - 'Wyatt', - 'Puck', - ], + $animals = [ + 'cats' => [ + '#theme' => 'item_list', + '#title' => 'Some cats I know', + '#items' => [ + 'Wyatt', + 'Puck', ], - 'some_dogs_i_know' => [ - '#theme' => 'item_list', - '#title' => t('Some dogs I know'), - '#items' => [ - 'Otis', - 'Peanut', - ], + ], + 'dogs' => [ + '#theme' => 'item_list', + '#title' => 'Some dogs I know', + '#items' => [ + 'Otis', + 'Peanut', ], - ]], + ], + ]; + $cats = [ + '#type' => 'inline_template', + '#template' => '{% set cats = render(animals.cats) %}{{ cats }}', + '#context' => ['animals' => $animals], ]; + $rendered_cats = \Drupal::service('renderer')->render($cats); + $this->assertEqual($rendered_cats, '

Some cats I know

'); - $rendered = \Drupal::service('renderer')->render($element); - $this->assertEqual($rendered, '

Some cats I know

'); + $dogs = [ + '#type' => 'inline_template', + '#template' => '{% set dogs = render(animals.dogs)|striptags %}{{ dogs }}', + '#context' => ['animals' => $animals], + ]; + $rendered_dogs = \Drupal::service('renderer')->render($dogs); + $this->assertEqual($rendered_dogs, 'Some dogs I knowOtisPeanut'); } }