Skip to content

Commit e03648f

Browse files
committed
[2.2.x] Fixed forms_tests.tests.test_renderers with Jinja 3.1.0+.
See pallets/jinja#1621. Backport of 1d9d082 from main
1 parent 9d13d8c commit e03648f

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

tests/forms_tests/tests/test_renderers.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import os
2+
import posixpath
23
import unittest
34

45
from django.forms.renderers import (
56
BaseRenderer, DjangoTemplates, Jinja2, TemplatesSetting,
67
)
78
from django.test import SimpleTestCase
9+
from django.utils.version import get_version_tuple
810

911
try:
1012
import jinja2
@@ -46,6 +48,28 @@ class Jinja2Tests(SharedTests, SimpleTestCase):
4648
renderer = Jinja2
4749
expected_widget_dir = 'jinja2'
4850

51+
@property
52+
def jinja2_version(self):
53+
return get_version_tuple(jinja2.__version__)
54+
55+
def test_installed_apps_template_found(self):
56+
"""Can find a custom template in INSTALLED_APPS."""
57+
renderer = self.renderer()
58+
# Found because forms_tests is .
59+
tpl = renderer.get_template("forms_tests/custom_widget.html")
60+
expected_path = os.path.abspath(
61+
os.path.join(os.path.dirname(__file__), "..", self.expected_widget_dir)
62+
)
63+
if self.jinja2_version < (3, 1):
64+
expected_path = os.path.join(
65+
expected_path, "forms_tests", "custom_widget.html"
66+
)
67+
else:
68+
expected_path = posixpath.join(
69+
expected_path, "forms_tests", "custom_widget.html"
70+
)
71+
self.assertEqual(tpl.origin.name, expected_path)
72+
4973

5074
class TemplatesSettingTests(SharedTests, SimpleTestCase):
5175
renderer = TemplatesSetting

0 commit comments

Comments
 (0)