File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change 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 )
Original file line number Diff line number Diff line change 33from django .test import TestCase , override_settings
44
55from ..base import BaseTestCase
6+ from ..forms import TemplateReprForm
67from ..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 }}" )
You can’t perform that action at this time.
0 commit comments