@@ -20,7 +20,10 @@ def target_view(request):
20
20
{"varA": 1212, "varB": "DcDc"},
21
21
)
22
22
"""
23
- TEMPLATE_FILE_TEXT = """<!DOCTYPE html>
23
+ TEMPLATE_FILE_TEXT = """
24
+ {% load test_tags %}
25
+
26
+ <!DOCTYPE html>
24
27
<html lang="en">
25
28
<head>
26
29
<meta charset="UTF-8">
@@ -34,6 +37,7 @@ def target_view(request):
34
37
{% if varA %}
35
38
{{ varB }}
36
39
{% endif %}
40
+ LOWER: {{ varB|lower }}
37
41
</body>
38
42
</html>
39
43
"""
@@ -61,11 +65,26 @@ def test_view_target_view(self):
61
65
%(define_target_view)s
62
66
63
67
resp = self.client.get(reverse(target_view))
64
- for expected in['1212', 'DcDc']:
65
- self.assertContains(resp, expected)
68
+ self.assertContains(resp, '1212')
69
+ self.assertContains(resp, 'DcDc')
70
+ self.assertContains(resp, 'LOWER: dcdc')
66
71
self.assertContains(resp, '<title>Example: 1212</title>')
67
72
68
73
"""
74
+ TEMPLATE_TAG_TEXT = """
75
+ from django import template
76
+ from django.utils.safestring import mark_safe
77
+ from django.template.defaultfilters import stringfilter
78
+
79
+ register = template.Library()
80
+
81
+ @register.filter(is_safe=True)
82
+ @stringfilter
83
+ def lower(value):
84
+ return mark_safe(value.lower())
85
+
86
+ """
87
+
69
88
70
89
71
90
class IntegrationTest (DjangoPluginTestCase ):
@@ -186,6 +205,8 @@ def _create_django_project(self, project_name, app_name):
186
205
self .test_views_file = self ._add_project_file (test_views_text , app_name , "test_views.py" )
187
206
self .views_file = os .path .join (self .project_dir , app_name , "views.py" )
188
207
self .urls_file = os .path .join (self .project_dir , project_name , "urls.py" )
208
+ self .test_views_file = self ._add_project_file ("" , app_name , "templatetags" , "__init__.py" )
209
+ self .test_views_file = self ._add_project_file (TEMPLATE_TAG_TEXT , app_name , "templatetags" , "test_tags.py" )
189
210
190
211
self ._add_view_function (app_name , VIEW_FUNC_TEXT )
191
212
self ._add_url (project_name , app_name , "target_view" , "target_view" )
@@ -246,6 +267,7 @@ def test_template_render(self):
246
267
self .assertIsCovered (coverage_report , "app_template_render/__init__.py" )
247
268
self .assertIsCovered (coverage_report , "app_template_render/views.py" )
248
269
self .assertIsCovered (coverage_report , "app_template_render/templates/target_template.html" )
270
+ self .assertIsCovered (coverage_report , "app_template_render/templatetags/test_tags.py" )
249
271
250
272
def assertIsCovered (self , cov_report , path , expect_missing = 0 , expect_pct = 100 ):
251
273
fmt = u"%s [%s] expected: %%r, got %%r"
0 commit comments