summaryrefslogtreecommitdiff
path: root/tests/template_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/template_tests')
-rw-r--r--tests/template_tests/templatetags/custom.py8
-rw-r--r--tests/template_tests/test_custom.py5
2 files changed, 13 insertions, 0 deletions
diff --git a/tests/template_tests/templatetags/custom.py b/tests/template_tests/templatetags/custom.py
index 2e2ccf3782..45acd9655e 100644
--- a/tests/template_tests/templatetags/custom.py
+++ b/tests/template_tests/templatetags/custom.py
@@ -3,6 +3,7 @@ import operator
from django import template
from django.template.defaultfilters import stringfilter
from django.utils.html import escape, format_html
+from django.utils.safestring import mark_safe
register = template.Library()
@@ -14,6 +15,13 @@ def trim(value, num):
@register.filter
+@mark_safe
+def make_data_div(value):
+ """A filter that uses a decorator (@mark_safe)."""
+ return '<div data-name="%s"></div>' % value
+
+
+@register.filter
def noop(value, param=None):
"""A noop filter that always return its first argument and does nothing with
its second (optional) one.
diff --git a/tests/template_tests/test_custom.py b/tests/template_tests/test_custom.py
index b37b5f8f1e..dbc5bc267d 100644
--- a/tests/template_tests/test_custom.py
+++ b/tests/template_tests/test_custom.py
@@ -25,6 +25,11 @@ class CustomFilterTests(SimpleTestCase):
"abcde"
)
+ def test_decorated_filter(self):
+ engine = Engine(libraries=LIBRARIES)
+ t = engine.from_string('{% load custom %}{{ name|make_data_div }}')
+ self.assertEqual(t.render(Context({'name': 'foo'})), '<div data-name="foo"></div>')
+
class TagTestCase(SimpleTestCase):