fixed parentheses placement for the ternary operator
authorFabien Potencier <fabien.potencier@gmail.com>
Thu, 2 Dec 2010 13:33:10 +0000 (14:33 +0100)
committerFabien Potencier <fabien.potencier@gmail.com>
Thu, 2 Dec 2010 13:33:10 +0000 (14:33 +0100)
lib/Twig/ExpressionParser.php
test/Twig/Tests/Fixtures/expressions/ternary_operator.test

index ff2111f..24ff10a 100644 (file)
@@ -56,7 +56,11 @@ class Twig_ExpressionParser
             $token = $this->parser->getCurrentToken();
         }
 
-        return $this->parseConditionalExpression($expr);
+        if (0 === $precedence) {
+            return $this->parseConditionalExpression($expr);
+        }
+
+        return $expr;
     }
 
     protected function getPrimary()
index cbf555c..d070824 100644 (file)
@@ -5,6 +5,7 @@ Twig supports the ternary operator
 {{ 0 ? 'YES' : 'NO' }}
 {{ 0 ? 'YES' : (1 ? 'YES1' : 'NO1') }}
 {{ 0 ? 'YES' : (0 ? 'YES1' : 'NO1') }}
+{{ 1 == 1 ? 'foo<br />':'' }}
 --DATA--
 return array()
 --EXPECT--
@@ -12,3 +13,4 @@ YES
 NO
 YES1
 NO1
+foo<br />