diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2011-01-03 13:15:58 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2011-01-03 13:15:58 +0000 |
| commit | a00e8d4e4204bfb730ba3eac2ee11ad83c8ec91b (patch) | |
| tree | dc9ab2179cf3c45dbb852a44c167621fe0ef41d9 /tests/regressiontests | |
| parent | 2a5105ac15baf68c844aa14b68b7af63a2329fc9 (diff) | |
Fixed #14878 -- Clarified the way verbose_name_plural is used in generic list views as a context variable. Thanks to diegueus9 for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15133 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
6 files changed, 36 insertions, 2 deletions
diff --git a/tests/regressiontests/generic_views/detail.py b/tests/regressiontests/generic_views/detail.py index 91cacf65ba..c26ca67bd1 100644 --- a/tests/regressiontests/generic_views/detail.py +++ b/tests/regressiontests/generic_views/detail.py @@ -1,7 +1,7 @@ from django.core.exceptions import ImproperlyConfigured from django.test import TestCase -from regressiontests.generic_views.models import Author, Page +from regressiontests.generic_views.models import Artist, Author, Page class DetailViewTest(TestCase): @@ -28,6 +28,13 @@ class DetailViewTest(TestCase): self.assertEqual(res.context['author'], Author.objects.get(slug='scott-rosenberg')) self.assertTemplateUsed(res, 'generic_views/author_detail.html') + def test_verbose_name(self): + res = self.client.get('/detail/artist/1/') + self.assertEqual(res.status_code, 200) + self.assertEqual(res.context['object'], Artist.objects.get(pk=1)) + self.assertEqual(res.context['professional_artist'], Artist.objects.get(pk=1)) + self.assertTemplateUsed(res, 'generic_views/artist_detail.html') + def test_template_name(self): res = self.client.get('/detail/author/1/template_name/') self.assertEqual(res.status_code, 200) diff --git a/tests/regressiontests/generic_views/fixtures/generic-views-test-data.json b/tests/regressiontests/generic_views/fixtures/generic-views-test-data.json index 8ecfe5e1e2..dfffbbf8d8 100644 --- a/tests/regressiontests/generic_views/fixtures/generic-views-test-data.json +++ b/tests/regressiontests/generic_views/fixtures/generic-views-test-data.json @@ -1,5 +1,12 @@ [ { + "model": "generic_views.artist", + "pk": 1, + "fields": { + "name": "Rene Magritte" + } + }, + { "model": "generic_views.author", "pk": 1, "fields": { diff --git a/tests/regressiontests/generic_views/list.py b/tests/regressiontests/generic_views/list.py index 6ed28170a7..7414c62d3a 100644 --- a/tests/regressiontests/generic_views/list.py +++ b/tests/regressiontests/generic_views/list.py @@ -1,7 +1,7 @@ from django.core.exceptions import ImproperlyConfigured from django.test import TestCase -from regressiontests.generic_views.models import Author +from regressiontests.generic_views.models import Author, Artist from regressiontests.generic_views.views import CustomPaginator class ListViewTests(TestCase): @@ -106,6 +106,16 @@ class ListViewTests(TestCase): self.assertEqual(res.status_code, 200) self.assertEqual(len(res.context['object_list']), 1) + def test_verbose_name(self): + res = self.client.get('/list/artists/') + self.assertEqual(res.status_code, 200) + self.assertTemplateUsed(res, 'generic_views/list.html') + self.assertEqual(list(res.context['object_list']), list(Artist.objects.all())) + self.assertIs(res.context['professional_artists'], res.context['object_list']) + self.assertIsNone(res.context['paginator']) + self.assertIsNone(res.context['page_obj']) + self.assertFalse(res.context['is_paginated']) + def test_allow_empty_false(self): res = self.client.get('/list/authors/notempty/') self.assertEqual(res.status_code, 200) diff --git a/tests/regressiontests/generic_views/models.py b/tests/regressiontests/generic_views/models.py index 5a8577d0f6..5445e24cee 100644 --- a/tests/regressiontests/generic_views/models.py +++ b/tests/regressiontests/generic_views/models.py @@ -5,6 +5,8 @@ class Artist(models.Model): class Meta: ordering = ['name'] + verbose_name = 'professional artist' + verbose_name_plural = 'professional artists' def __unicode__(self): return self.name diff --git a/tests/regressiontests/generic_views/urls.py b/tests/regressiontests/generic_views/urls.py index 037da42d9a..bd997e7e6d 100644 --- a/tests/regressiontests/generic_views/urls.py +++ b/tests/regressiontests/generic_views/urls.py @@ -100,6 +100,9 @@ urlpatterns = patterns('', views.DictList.as_view()), (r'^list/dict/paginated/$', views.DictList.as_view(paginate_by=1)), + url(r'^list/artists/$', + views.ArtistList.as_view(), + name="artists_list"), url(r'^list/authors/$', views.AuthorList.as_view(), name="authors_list"), diff --git a/tests/regressiontests/generic_views/views.py b/tests/regressiontests/generic_views/views.py index e3a3c40694..e9be7c7ca9 100644 --- a/tests/regressiontests/generic_views/views.py +++ b/tests/regressiontests/generic_views/views.py @@ -47,6 +47,11 @@ class DictList(generic.ListView): template_name = 'generic_views/list.html' +class ArtistList(generic.ListView): + template_name = 'generic_views/list.html' + queryset = Artist.objects.all() + + class AuthorList(generic.ListView): queryset = Author.objects.all() |
