diff options
| author | Jannis Leidel <jannis@leidel.info> | 2011-05-03 13:52:39 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2011-05-03 13:52:39 +0000 |
| commit | 05b4f2ebc2f547d2413f738551f9933aae0d34dc (patch) | |
| tree | 7b004559cdfbdf094f7cd7a1f3f80df3aeefe338 /tests | |
| parent | 950e05c3ff5daa360c3bddb84831d40b167062f1 (diff) | |
Corrected the behavior of the SimpleFilter.lookups method to also be able to return None. Also modified example in documentation to be a bite more realistic. Refs #5833. Thanks for the hint, Martin Mahner.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16150 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/admin_filters/tests.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_filters/tests.py b/tests/regressiontests/admin_filters/tests.py index b1bd6ded5f..6b32475a64 100644 --- a/tests/regressiontests/admin_filters/tests.py +++ b/tests/regressiontests/admin_filters/tests.py @@ -43,6 +43,11 @@ class DecadeListFilterWithoutTitle(DecadeListFilter): class DecadeListFilterWithoutParameter(DecadeListFilter): title = 'publication decade' +class DecadeListFilterWithNoneReturningLookups(DecadeListFilterWithTitleAndParameter): + + def lookups(self, request): + pass + class CustomUserAdmin(UserAdmin): list_filter = ('books_authored', 'books_contributed') @@ -60,6 +65,9 @@ class DecadeFilterBookAdminWithoutTitle(ModelAdmin): class DecadeFilterBookAdminWithoutParameter(ModelAdmin): list_filter = (DecadeListFilterWithoutParameter,) +class DecadeFilterBookAdminWithNoneReturningLookups(ModelAdmin): + list_filter = (DecadeListFilterWithNoneReturningLookups,) + class ListFiltersTests(TestCase): def setUp(self): @@ -453,3 +461,14 @@ class ListFiltersTests(TestCase): self.assertRaisesRegexp(ImproperlyConfigured, "The list filter 'DecadeListFilterWithoutParameter' does not specify a 'parameter_name'.", self.get_changelist, request, Book, modeladmin) + + def test_simplelistfilter_with_none_returning_lookups(self): + """ + A SimpleListFilter lookups method can return None but disables the + filter completely. + """ + modeladmin = DecadeFilterBookAdminWithNoneReturningLookups(Book, site) + request = self.request_factory.get('/', {}) + changelist = self.get_changelist(request, Book, modeladmin) + filterspec = changelist.get_filters(request)[0] + self.assertEqual(len(filterspec), 0) |
