fixed unary operators precedence (closes #583)

This commit is contained in:
Fabien Potencier
2012-01-06 19:47:50 +01:00
parent 46bd737007
commit 8fb4172a04
2 changed files with 16 additions and 2 deletions
+2 -2
View File
@@ -189,8 +189,8 @@ class Twig_Extension_Core extends Twig_Extension
return array(
array(
'not' => array('precedence' => 50, 'class' => 'Twig_Node_Expression_Unary_Not'),
'-' => array('precedence' => 50, 'class' => 'Twig_Node_Expression_Unary_Neg'),
'+' => array('precedence' => 50, 'class' => 'Twig_Node_Expression_Unary_Pos'),
'-' => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Neg'),
'+' => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Pos'),
),
array(
'b-and' => array('precedence' => 5, 'class' => 'Twig_Node_Expression_Binary_BitwiseAnd', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
@@ -0,0 +1,14 @@
--TEST--
Twig unary operators precedence
--TEMPLATE--
{{ -1 - 1 }}
{{ -1 - -1 }}
{{ -1 * -1 }}
{{ 4 / -1 * 5 }}
--DATA--
return array()
--EXPECT--
-2
0
1
-20