Skip to content

Commit 769e905

Browse files
committed
Add test to show repr template rendering
1 parent 475d9d5 commit 769e905

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

tests/forms.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from django import forms
2+
from django.contrib.auth.models import User
3+
4+
5+
class TemplateReprForm(forms.Form):
6+
user = forms.ModelChoiceField(queryset=User.objects.all())
7+
8+
def __repr__(self):
9+
return str(self)

tests/panels/test_template.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from django.test import TestCase, override_settings
44

55
from ..base import BaseTestCase
6+
from ..forms import TemplateReprForm
67
from ..models import NonAsciiRepr
78

89

@@ -35,6 +36,18 @@ def test_queryset_hook(self):
3536
self.assertIn("<<queryset of auth.User>>", ctx)
3637
self.assertIn("<<triggers database query>>", ctx)
3738

39+
def test_template_repr(self):
40+
# Force widget templates to be included
41+
self.toolbar.config["SKIP_TEMPLATE_PREFIXES"] = ()
42+
43+
User.objects.create(username="admin")
44+
bad_repr = TemplateReprForm()
45+
t = Template("{{ bad_repr }}")
46+
c = Context({"bad_repr": bad_repr})
47+
html = t.render(c)
48+
self.assertIsNotNone(html)
49+
self.assertValidHTML(html)
50+
3851
def test_object_with_non_ascii_repr_in_context(self):
3952
response = self.panel.process_request(self.request)
4053
t = Template("{{ object }}")

0 commit comments

Comments
 (0)