commit b0830313174c8d6336bffe07f3fff71e537c8f13 Author: Joel Pittet Date: Sun Feb 1 16:26:33 2015 -0800 tidy diff --git a/core/tests/Drupal/Tests/Core/Theme/TwigEngineTest.php b/core/tests/Drupal/Tests/Core/Theme/TwigEngineTest.php index c62608a..7900711 100644 --- a/core/tests/Drupal/Tests/Core/Theme/TwigEngineTest.php +++ b/core/tests/Drupal/Tests/Core/Theme/TwigEngineTest.php @@ -1,7 +1,8 @@ root . '/core/themes/engines/twig/twig.engine'; $this->twigEnvironment = $this->getMock('\Twig_Environment'); } /** - * Regression test for twig_drupal_escape_filter(). + * Tests output of integer and double 0 values of twig_render_var(). * - * When the string to be escaped is actually 0.0 [ ie of type double ] then a - * string '0' must be returned. + * @see https://www.drupal.org/node/2417733 + */ + public function testsRenderZeroValue() { + $this->assertSame(twig_render_var(0), 0, 'twig_render_var() renders zero correctly when provided as an integer.'); + $this->assertSame(twig_render_var(0.0), 0, 'twig_render_var() renders zero correctly when provided as a double.'); + } + + /** + * Tests output of integer and double 0 values of twig_drupal_escape_filter(). * * @see https://www.drupal.org/node/2417733 */ - public function testsFilterZero() { - $this->assertEquals(twig_drupal_escape_filter($this->twigEnvironment, 0.0), '0', - 'twig_escape_filter() escapes zero correctly when expressed as a double'); + public function testsRenderEscapedZeroValue() { + $this->assertSame(twig_drupal_escape_filter($this->twigEnvironment, 0), 0, 'twig_escape_filter() returns zero correctly when provided as an integer.'); + $this->assertSame(twig_drupal_escape_filter($this->twigEnvironment, 0.0), 0, 'twig_escape_filter() returns zero correctly when provided as a double.'); } } diff --git a/core/themes/engines/twig/twig.engine b/core/themes/engines/twig/twig.engine index 93c1b7b..0e5f620 100644 --- a/core/themes/engines/twig/twig.engine +++ b/core/themes/engines/twig/twig.engine @@ -129,7 +129,7 @@ function twig_render_template($template_file, $variables) { function twig_render_var($arg) { // Check for a numeric zero int or float. if ($arg === 0 || $arg === 0.0) { - return '0'; + return 0; } // Return early for NULL and also true for empty arrays. @@ -215,7 +215,7 @@ function twig_without($element) { function twig_drupal_escape_filter(\Twig_Environment $env, $string, $strategy = 'html', $charset = NULL, $autoescape = FALSE) { // Check for a numeric zero int or float. if ($string === 0 || $string === 0.0) { - return '0'; + return 0; } // Return early for NULL or an empty array.