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

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy