Fixes default filter
authorTobias Naumann <tna@netz3.ch>
Thu, 26 May 2011 09:14:15 +0000 (11:14 +0200)
committerTobias Naumann <tna@netz3.ch>
Thu, 26 May 2011 09:14:22 +0000 (11:14 +0200)
lib/Twig/Node/Expression/Filter.php
test/Twig/Tests/Fixtures/filters/default.test

index 1979540..a1a97d1 100644 (file)
@@ -40,6 +40,7 @@ class Twig_Node_Expression_Filter extends Twig_Node_Expression
                 $compiler->subcompile($this->getNode('node'));
             }
 
+            $this->getNode('node')->removeAttribute('is_defined_test');
             $compiler->raw(') ? (');
             $this->compileFilter($compiler, $filter);
             $compiler->raw(') : (');
index dd3b998..04c11d1 100644 (file)
@@ -3,14 +3,20 @@
 --TEMPLATE--
 {{ foo|default('bar') }}
 {{ bar|default('foo') }}
+{{ baz.foo|default('bar') }}
+{{ baz.bar|default('foo') }}
 {{ not_defined|default('bar') }}
 {{ 'a' ~ foo|default('b') }}
+{{ 'a' ~ baz.foo|default('b') }}
 {{ 0|default('bar') }}
 --DATA--
-return array('foo' => null, 'bar' => 'bar')
+return array('foo' => null, 'bar' => 'bar', 'baz' => array('foo' => null, 'bar' => 'bar'))
 --EXPECT--
 bar
 bar
 bar
+bar
+bar
+ab
 ab
 0