diff options
| author | Jannis Leidel <jannis@leidel.info> | 2010-02-21 23:42:57 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2010-02-21 23:42:57 +0000 |
| commit | b459f5b7e3be65bbd554e03626ff255d4a68e9fc (patch) | |
| tree | 51a6e3793762e7f805cd7ab5532937d480eaea3a /tests/regressiontests | |
| parent | a88cbc141d544ba437545a8470282e16ddc1d3e3 (diff) | |
Fixed #5971 - Fixed inconsistent behaviour of the TokenParser when parsing filters that follow constant strings or variables. Thanks Dmitri Fedortchenko, Adam Vandenberg and Ramiro Morales.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12471 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
| -rw-r--r-- | tests/regressiontests/templates/parser.py | 49 | ||||
| -rw-r--r-- | tests/regressiontests/templates/tests.py | 4 |
2 files changed, 52 insertions, 1 deletions
diff --git a/tests/regressiontests/templates/parser.py b/tests/regressiontests/templates/parser.py index 6ad301d9c3..9e6ad2166e 100644 --- a/tests/regressiontests/templates/parser.py +++ b/tests/regressiontests/templates/parser.py @@ -2,6 +2,55 @@ Testing some internals of the template processing. These are *not* examples to be copied in user code. """ +token_parsing=r""" +Tests for TokenParser behavior in the face of quoted strings with spaces. + +>>> from django.template import TokenParser + + +Test case 1: {% tag thevar|filter sometag %} + +>>> p = TokenParser("tag thevar|filter sometag") +>>> p.tagname +'tag' +>>> p.value() +'thevar|filter' +>>> p.more() +True +>>> p.tag() +'sometag' +>>> p.more() +False + +Test case 2: {% tag "a value"|filter sometag %} + +>>> p = TokenParser('tag "a value"|filter sometag') +>>> p.tagname +'tag' +>>> p.value() +'"a value"|filter' +>>> p.more() +True +>>> p.tag() +'sometag' +>>> p.more() +False + +Test case 3: {% tag 'a value'|filter sometag %} + +>>> p = TokenParser("tag 'a value'|filter sometag") +>>> p.tagname +'tag' +>>> p.value() +"'a value'|filter" +>>> p.more() +True +>>> p.tag() +'sometag' +>>> p.more() +False +""" + filter_parsing = r""" >>> from django.template import FilterExpression, Parser diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py index b2ba9f6f90..925fc57084 100644 --- a/tests/regressiontests/templates/tests.py +++ b/tests/regressiontests/templates/tests.py @@ -22,7 +22,7 @@ from django.utils.tzinfo import LocalTimezone from context import context_tests from custom import custom_filters -from parser import filter_parsing, variable_parsing +from parser import token_parsing, filter_parsing, variable_parsing from unicode import unicode_tests from smartif import * @@ -37,7 +37,9 @@ import filters __test__ = { 'unicode': unicode_tests, 'context': context_tests, + 'token_parsing': token_parsing, 'filter_parsing': filter_parsing, + 'variable_parsing': variable_parsing, 'custom_filters': custom_filters, } |
