updated documentation and added a unit test
authorFabien Potencier <fabien.potencier@gmail.com>
Fri, 18 Feb 2011 15:13:23 +0000 (16:13 +0100)
committerFabien Potencier <fabien.potencier@gmail.com>
Fri, 18 Feb 2011 15:25:30 +0000 (16:25 +0100)
CHANGELOG
doc/templates.rst
test/Twig/Tests/Fixtures/tags/set/basic.test

index 5f8964d..b2751c3 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,7 @@
 
 Changes:
 
+ * changed the way {% set %} works when capturing (the content is now marked as safe)
  * added support for macro name in the endmacro tag
  * fixed the "length" filter for numbers
  * removed coupling between Twig_Node and Twig_Template
index efb15ac..ef940e1 100644 (file)
@@ -724,7 +724,7 @@ You can also chain filters:
       <strong>SOME TEXT</strong>
     {% endfilter %}
 
-It should returns ``&lt;strong&gt;some text&lt;/strong&gt;``.
+It should return ``&lt;strong&gt;some text&lt;/strong&gt;``.
 
 Assignments
 ~~~~~~~~~~~
@@ -744,7 +744,7 @@ the ``set`` tag and can have multiple targets:
 
     {% set foo, bar = 'foo', 'bar' %}
 
-The ``set`` tag can also be used to 'capture' chunks of HTML:
+The ``set`` tag can also be used to 'capture' chunks of text:
 
 .. code-block:: jinja
 
@@ -754,6 +754,11 @@ The ``set`` tag can also be used to 'capture' chunks of HTML:
       </div>
     {% endset %}
 
+.. caution::
+
+    If you enable automatic output escaping, Twig will only consider the
+    content to be safe when capturing chunks of text.
+
 Extends
 ~~~~~~~
 
index 75ad6d3..a5a9f83 100644 (file)
@@ -2,8 +2,10 @@
 "set" tag
 --TEMPLATE--
 {% set foo = 'foo' %}
+{% set bar = 'foo<br />' %}
 
 {{ foo }}
+{{ bar }}
 
 {% set foo, bar = 'foo', 'bar' %}
 
@@ -12,6 +14,7 @@
 return array()
 --EXPECT--
 foo
+foo&lt;br /&gt;
 
 
 foobar