diff options
| author | James Bennett <ubernostrum@gmail.com> | 2010-03-10 08:37:17 +0000 |
|---|---|---|
| committer | James Bennett <ubernostrum@gmail.com> | 2010-03-10 08:37:17 +0000 |
| commit | a0c77ada990ca1e61b37d7ecdcf533e88c11a510 (patch) | |
| tree | 743fbd340ebaa0c50c0f36befaf11e19c53c97bd /tests/regressiontests | |
| parent | baa4d3b710d4011b8badcfade907b76d122c33f9 (diff) | |
Ensure that NullBooleanField displays the appropriate icon for null values in admin changelists. Refs #13071.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12746 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
| -rw-r--r-- | tests/regressiontests/admin_util/tests.py | 6 | ||||
| -rw-r--r-- | tests/regressiontests/admin_views/models.py | 2 | ||||
| -rw-r--r-- | tests/regressiontests/admin_views/tests.py | 9 |
3 files changed, 16 insertions, 1 deletions
diff --git a/tests/regressiontests/admin_util/tests.py b/tests/regressiontests/admin_util/tests.py index 43d7057783..f874b318f9 100644 --- a/tests/regressiontests/admin_util/tests.py +++ b/tests/regressiontests/admin_util/tests.py @@ -1,6 +1,7 @@ from datetime import datetime import unittest +from django.conf import settings from django.db import models from django.utils.formats import localize from django.test import TestCase @@ -131,8 +132,11 @@ class UtilTests(unittest.TestCase): display_value = display_for_field(None, models.TimeField()) self.assertEqual(display_value, EMPTY_CHANGELIST_VALUE) + # Regression test for #13071: NullBooleanField has special + # handling. display_value = display_for_field(None, models.NullBooleanField()) - self.assertEqual(display_value, EMPTY_CHANGELIST_VALUE) + expected = u'<img src="%simg/admin/icon-unknown.gif" alt="None" />' % settings.ADMIN_MEDIA_PREFIX + self.assertEqual(display_value, expected) display_value = display_for_field(None, models.DecimalField()) self.assertEqual(display_value, EMPTY_CHANGELIST_VALUE) diff --git a/tests/regressiontests/admin_views/models.py b/tests/regressiontests/admin_views/models.py index dfdb18f0be..b8b4e50ba2 100644 --- a/tests/regressiontests/admin_views/models.py +++ b/tests/regressiontests/admin_views/models.py @@ -464,11 +464,13 @@ class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() posted = models.DateField(default=datetime.date.today) + public = models.NullBooleanField() def awesomeness_level(self): return "Very awesome." class PostAdmin(admin.ModelAdmin): + list_display = ['title', 'public'] readonly_fields = ('posted', 'awesomeness_level', 'coolness', lambda obj: "foo") inlines = [ diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py index b66d2956f9..655478a9ed 100644 --- a/tests/regressiontests/admin_views/tests.py +++ b/tests/regressiontests/admin_views/tests.py @@ -253,6 +253,15 @@ class AdminViewBasicTest(TestCase): "Changelist filter isn't showing options contained inside a model field 'choices' option named group." ) + def testChangeListNullBooleanDisplay(self): + Post.objects.create(public=None) + # This hard-codes the URl because it'll fail if it runs + # against the 'admin2' custom admin (which doesn't have the + # Post model). + response = self.client.get("/test_admin/admin/admin_views/post/") + self.failUnless('icon-unknown.gif' in response.content) + print "Passed" + class SaveAsTests(TestCase): fixtures = ['admin-views-users.xml','admin-views-person.xml'] |
