diff options
| author | Preston Timmons <prestontimmons@gmail.com> | 2016-12-27 17:00:56 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-12-27 17:50:10 -0500 |
| commit | b52c73008a9d67e9ddbb841872dc15cdd3d6ee01 (patch) | |
| tree | b58a2d18242db5234b18678116e07e6f6bbc7cb3 /tests/forms_tests/widget_tests/base.py | |
| parent | 51cde873d9fc8e4540f4efecbd39cfe8e770be38 (diff) | |
Fixed #15667 -- Added template-based widget rendering.
Thanks Carl Meyer and Tim Graham for contributing to the patch.
Diffstat (limited to 'tests/forms_tests/widget_tests/base.py')
| -rw-r--r-- | tests/forms_tests/widget_tests/base.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/forms_tests/widget_tests/base.py b/tests/forms_tests/widget_tests/base.py index 3127cb85f2..dbbea25d7a 100644 --- a/tests/forms_tests/widget_tests/base.py +++ b/tests/forms_tests/widget_tests/base.py @@ -1,9 +1,27 @@ +from django.forms.renderers import DjangoTemplates, Jinja2 from django.test import SimpleTestCase +try: + import jinja2 +except ImportError: + jinja2 = None + class WidgetTest(SimpleTestCase): beatles = (('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo')) + @classmethod + def setUpClass(cls): + cls.django_renderer = DjangoTemplates() + cls.jinja2_renderer = Jinja2() if jinja2 else None + cls.renderers = [cls.django_renderer] + ([cls.jinja2_renderer] if cls.jinja2_renderer else []) + super(WidgetTest, cls).setUpClass() + def check_html(self, widget, name, value, html='', attrs=None, **kwargs): - output = widget.render(name, value, attrs=attrs, **kwargs) + if self.jinja2_renderer: + output = widget.render(name, value, attrs=attrs, renderer=self.jinja2_renderer, **kwargs) + # Django escapes quotes with '"' while Jinja2 uses '"'. + self.assertHTMLEqual(output.replace('"', '"'), html) + + output = widget.render(name, value, attrs=attrs, renderer=self.django_renderer, **kwargs) self.assertHTMLEqual(output, html) |
