diff options
| author | Tiago Honorato <tiagohonorato1@gmail.com> | 2021-03-12 19:37:47 -0300 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-03-17 07:49:55 +0100 |
| commit | 4f4f770f77c5d720484c0a71f6a19b9affcc7e28 (patch) | |
| tree | b07f5dba5ec648d7db29040e5604fa9693b7d5dd | |
| parent | 065832eaec167a45008aa125887ce1215a1f257d (diff) | |
Refs #24121 -- Added __repr__() to Origin and Template.
| -rw-r--r-- | django/template/base.py | 9 | ||||
| -rw-r--r-- | tests/template_tests/test_base.py | 11 | ||||
| -rw-r--r-- | tests/template_tests/test_origin.py | 6 |
3 files changed, 26 insertions, 0 deletions
diff --git a/django/template/base.py b/django/template/base.py index b1eec99655..ed1bae3022 100644 --- a/django/template/base.py +++ b/django/template/base.py @@ -122,6 +122,9 @@ class Origin: def __str__(self): return self.name + def __repr__(self): + return '<%s name=%r>' % (self.__class__.__qualname__, self.name) + def __eq__(self, other): return ( isinstance(other, Origin) and @@ -158,6 +161,12 @@ class Template: for node in self.nodelist: yield from node + def __repr__(self): + return '<%s template_string="%s...">' % ( + self.__class__.__qualname__, + self.source[:20].replace('\n', ''), + ) + def _render(self, context): return self.nodelist.render(context) diff --git a/tests/template_tests/test_base.py b/tests/template_tests/test_base.py index 475a647dd2..2b206a8968 100644 --- a/tests/template_tests/test_base.py +++ b/tests/template_tests/test_base.py @@ -8,6 +8,17 @@ class TemplateTests(SimpleTestCase): template_string = gettext_lazy('lazy string') self.assertEqual(Template(template_string).render(Context()), template_string) + def test_repr(self): + template = Template( + '<html><body>\n' + '{% if test %}<h1>{{ varvalue }}</h1>{% endif %}' + '</body></html>' + ) + self.assertEqual( + repr(template), + '<Template template_string="<html><body>{% if t...">', + ) + class VariableDoesNotExistTests(SimpleTestCase): def test_str(self): diff --git a/tests/template_tests/test_origin.py b/tests/template_tests/test_origin.py index 03738a80bd..f71178e955 100644 --- a/tests/template_tests/test_origin.py +++ b/tests/template_tests/test_origin.py @@ -1,3 +1,4 @@ +import os from unittest import TestCase from django.template import Engine @@ -24,3 +25,8 @@ class OriginTestCase(TestCase): # Use assertIs() to test __eq__/__ne__. self.assertIs(a.origin == b.origin, False) self.assertIs(a.origin != b.origin, True) + + def test_repr(self): + a = self.engine.get_template('index.html') + name = os.path.join(TEMPLATE_DIR, 'index.html') + self.assertEqual(repr(a.origin), '<Origin name=%r>' % name) |
