From f13bfbec70e096f230e3dcda88a2cb215e7f8899 Mon Sep 17 00:00:00 2001 From: Baptiste Mispelon Date: Fri, 22 Feb 2013 19:08:35 +0100 Subject: [PATCH] Fixed #19882 -- Smarter tokenizing of {% for %} tag arguments. --- django/template/defaulttags.py | 2 +- tests/regressiontests/templates/tests.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py index 7b75615c20..c1ca947753 100644 --- a/django/template/defaulttags.py +++ b/django/template/defaulttags.py @@ -746,7 +746,7 @@ def do_for(parser, token): ========================== ================================================ """ - bits = token.contents.split() + bits = token.split_contents() if len(bits) < 4: raise TemplateSyntaxError("'for' statements should have at least four" " words: %s" % token.contents) diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py index 255671435a..02d3460b72 100644 --- a/tests/regressiontests/templates/tests.py +++ b/tests/regressiontests/templates/tests.py @@ -833,6 +833,8 @@ class Templates(TestCase): 'for-tag-empty01': ("{% for val in values %}{{ val }}{% empty %}empty text{% endfor %}", {"values": [1, 2, 3]}, "123"), 'for-tag-empty02': ("{% for val in values %}{{ val }}{% empty %}values array empty{% endfor %}", {"values": []}, "values array empty"), 'for-tag-empty03': ("{% for val in values %}{{ val }}{% empty %}values array not found{% endfor %}", {}, "values array not found"), + # Ticket 19882 + 'for-tag-filter-ws': ("{% for x in ''|add:'a b c' %}{{ x }}{% endfor %}", {}, 'a b c'), ### IF TAG ################################################################ 'if-tag01': ("{% if foo %}yes{% else %}no{% endif %}", {"foo": True}, "yes"),