diff options
Diffstat (limited to 'tests/generic_views/test_base.py')
| -rw-r--r-- | tests/generic_views/test_base.py | 59 |
1 files changed, 20 insertions, 39 deletions
diff --git a/tests/generic_views/test_base.py b/tests/generic_views/test_base.py index d498d23a68..7aaea3ffa0 100644 --- a/tests/generic_views/test_base.py +++ b/tests/generic_views/test_base.py @@ -2,12 +2,9 @@ import time from django.core.exceptions import ImproperlyConfigured from django.http import HttpResponse -from django.test import ( - RequestFactory, SimpleTestCase, ignore_warnings, override_settings, -) +from django.test import RequestFactory, SimpleTestCase, override_settings from django.test.utils import require_jinja2 from django.urls import resolve -from django.utils.deprecation import RemovedInDjango40Warning from django.views.generic import RedirectView, TemplateView, View from . import views @@ -350,6 +347,25 @@ class TemplateViewTest(SimpleTestCase): view = TemplateView.as_view(template_name='generic_views/using.html', template_engine='jinja2') self.assertEqual(view(request).render().content, b'Jinja2\n') + def test_template_params(self): + """ + A generic template view passes kwargs as context. + """ + response = self.client.get('/template/simple/bar/') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['foo'], 'bar') + self.assertIsInstance(response.context['view'], View) + + def test_extra_template_params(self): + """ + A template view can be customized to return extra context. + """ + response = self.client.get('/template/custom/bar/') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context['foo'], 'bar') + self.assertEqual(response.context['key'], 'value') + self.assertIsInstance(response.context['view'], View) + def test_cached_views(self): """ A template view can be cached @@ -568,38 +584,3 @@ class SingleObjectTemplateResponseMixinTest(SimpleTestCase): ) with self.assertRaisesMessage(ImproperlyConfigured, msg): view.get_template_names() - - -@override_settings(ROOT_URLCONF='generic_views.urls') -class DeprecationTests(SimpleTestCase): - @ignore_warnings(category=RemovedInDjango40Warning) - def test_template_params(self): - """A generic template view passes kwargs as context.""" - response = self.client.get('/template/simple/bar/') - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['foo'], 'bar') - self.assertIsInstance(response.context['view'], View) - - @ignore_warnings(category=RemovedInDjango40Warning) - def test_extra_template_params(self): - """A template view can be customized to return extra context.""" - response = self.client.get('/template/custom/bar1/bar2/') - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['foo1'], 'bar1') - self.assertEqual(response.context['foo2'], 'bar2') - self.assertEqual(response.context['key'], 'value') - self.assertIsInstance(response.context['view'], View) - - def test_template_params_warning(self): - response = self.client.get('/template/custom/bar1/bar2/') - self.assertEqual(response.status_code, 200) - msg = ( - 'TemplateView passing URL kwargs to the context is deprecated. ' - 'Reference %s in your template through view.kwargs instead.' - ) - with self.assertRaisesMessage(RemovedInDjango40Warning, msg % 'foo1'): - str(response.context['foo1']) - with self.assertRaisesMessage(RemovedInDjango40Warning, msg % 'foo2'): - str(response.context['foo2']) - self.assertEqual(response.context['key'], 'value') - self.assertIsInstance(response.context['view'], View) |
