capturing {% set %} should give Twig_Markup
authornikic <+@ni-po.com>
Wed, 9 Feb 2011 17:27:28 +0000 (18:27 +0100)
committerFabien Potencier <fabien.potencier@gmail.com>
Fri, 18 Feb 2011 15:12:30 +0000 (16:12 +0100)
lib/Twig/Node/Set.php
test/Twig/Tests/Fixtures/tags/set/capture.test
test/Twig/Tests/Node/SetTest.php

index 04be00e..9dae2ea 100644 (file)
@@ -52,7 +52,7 @@ class Twig_Node_Set extends Twig_Node
             $compiler->subcompile($this->getNode('names'), false);
 
             if ($this->getAttribute('capture')) {
-                $compiler->raw(" = ob_get_clean()");
+                $compiler->raw(" = new Twig_Markup(ob_get_clean())");
             }
         }
 
index 4408ca8..f156a1a 100644 (file)
@@ -1,10 +1,10 @@
 --TEST--
 "set" tag block capture
 --TEMPLATE--
-{% set foo %}foo{% endset %}
+{% set foo %}f<br />o<br />o{% endset %}
 
 {{ foo }}
 --DATA--
 return array()
 --EXPECT--
-foo
+f<br />o<br />o
index 7883fba..6f61922 100644 (file)
@@ -51,7 +51,7 @@ class Twig_Tests_Node_SetTest extends Twig_Tests_Node_TestCase
         $tests[] = array($node, <<<EOF
 ob_start();
 echo "foo";
-\$context['foo'] = ob_get_clean();
+\$context['foo'] = new Twig_Markup(ob_get_clean());
 EOF
         );