simplification
authorArnaud Le Blanc <arnaud.lb@gmail.com>
Sun, 13 Nov 2011 13:23:45 +0000 (14:23 +0100)
committerArnaud Le Blanc <arnaud.lb@gmail.com>
Sun, 13 Nov 2011 13:23:45 +0000 (14:23 +0100)
lib/Twig/ExpressionParser.php
test/Twig/Tests/ExpressionParserTest.php

index 169ffb4..2fc8306 100644 (file)
@@ -184,14 +184,10 @@ class Twig_ExpressionParser
             }
         }
 
-        $expr = null;
+        $expr = array_shift($nodes);
 
-        foreach(array_reverse($nodes) as $node) {
-            if (null === $expr) {
-                $expr = $node;
-            } else {
-                $expr = new Twig_Node_Expression_Binary_Concat($node, $expr, $node->getLine());
-            }
+        foreach($nodes as $node) {
+            $expr = new Twig_Node_Expression_Binary_Concat($expr, $node, $node->getLine());
         }
 
         return $expr;
index f87dc78..ae5acb7 100644 (file)
@@ -149,31 +149,32 @@ class Twig_Tests_ExpressionParserTest extends PHPUnit_Framework_TestCase
             ),
             array(
                 '{{ "foo #{bar} baz" }}', new Twig_Node_Expression_Binary_Concat(
-                    new Twig_Node_Expression_Constant('foo ', 1),
                     new Twig_Node_Expression_Binary_Concat(
+                        new Twig_Node_Expression_Constant('foo ', 1),
                         new Twig_Node_Expression_Name('bar', 1),
-                        new Twig_Node_Expression_Constant(' baz', 1),
                         1
                     ),
+                    new Twig_Node_Expression_Constant(' baz', 1),
                     1
-                ),
+                )
             ),
+
             array(
                 '{{ "foo #{"foo #{bar} baz"} baz" }}', new Twig_Node_Expression_Binary_Concat(
-                    new Twig_Node_Expression_Constant('foo ', 1),
                     new Twig_Node_Expression_Binary_Concat(
+                        new Twig_Node_Expression_Constant('foo ', 1),
                         new Twig_Node_Expression_Binary_Concat(
-                            new Twig_Node_Expression_Constant('foo ', 1),
                             new Twig_Node_Expression_Binary_Concat(
+                                new Twig_Node_Expression_Constant('foo ', 1),
                                 new Twig_Node_Expression_Name('bar', 1),
-                                new Twig_Node_Expression_Constant(' baz', 1),
                                 1
                             ),
+                            new Twig_Node_Expression_Constant(' baz', 1),
                             1
                         ),
-                        new Twig_Node_Expression_Constant(' baz', 1),
                         1
                     ),
+                    new Twig_Node_Expression_Constant(' baz', 1),
                     1
                 ),
             ),