Skip to content

Commit 0547807

Browse files
committed
handle jinja2 related test
1 parent d797693 commit 0547807

File tree

3 files changed

+35
-11
lines changed

3 files changed

+35
-11
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DTL
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Jinja2

tests/test_generic_views/test_base.py

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import pathlib
12
import re
23
import time
34

45
from django.core.exceptions import ImproperlyConfigured
56
from django.http import HttpResponse
67
from django.test import RequestFactory, Client
7-
from django.test.utils import require_jinja2
88
from django.urls import resolve
99

1010
import pytest
@@ -15,6 +15,14 @@
1515
AsyncRedirectView,
1616
)
1717

18+
try:
19+
import jinja2
20+
except ImportError:
21+
jinja2 = None
22+
23+
24+
TEMPLATE_DIR = pathlib.Path(__file__).parent.parent / "templates"
25+
1826
client = Client()
1927

2028

@@ -352,24 +360,38 @@ def test_template_name_required(self):
352360
with pytest.raises(ImproperlyConfigured, match=msg):
353361
client.get("/template/no_template/")
354362

355-
@require_jinja2
356-
async def test_template_engine(self):
363+
@pytest.mark.skipif(jinja2 is None, reason="this test requires jinja2")
364+
async def test_template_engine(self, settings):
357365
"""
358366
A template view may provide a template engine.
359367
"""
368+
settings.TEMPLATES = [
369+
{
370+
"BACKEND": "django.template.backends.django.DjangoTemplates",
371+
"DIRS": [TEMPLATE_DIR],
372+
"APP_DIRS": True,
373+
},
374+
{
375+
"BACKEND": "django.template.backends.jinja2.Jinja2",
376+
"APP_DIRS": True,
377+
"OPTIONS": {"keep_trailing_newline": True},
378+
},
379+
]
380+
360381
request = self.rf.get("/using/")
361-
view = await AsyncTemplateView.as_view(
362-
template_name="test_generic_views/using.html"
363-
)
364-
assert view(request).render().content == b"DTL\n"
365-
view = await AsyncTemplateView.as_view(
382+
view = AsyncTemplateView.as_view(template_name="test_generic_views/using.html")
383+
view = await view(request)
384+
assert view.render().content == b"DTL\n"
385+
view = AsyncTemplateView.as_view(
366386
template_name="test_generic_views/using.html", template_engine="django"
367387
)
368-
assert view(request).render().content == b"DTL\n"
369-
view = await AsyncTemplateView.as_view(
388+
view = await view(request)
389+
assert view.render().content == b"DTL\n"
390+
view = AsyncTemplateView.as_view(
370391
template_name="test_generic_views/using.html", template_engine="jinja2"
371392
)
372-
assert view(request).render().content == b"Jinja2\n"
393+
view = await view(request)
394+
assert view.render().content == b"Jinja2\n"
373395

374396
def test_template_params(self):
375397
"""

0 commit comments

Comments
 (0)