diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2010-09-27 15:11:03 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2010-09-27 15:11:03 +0000 |
| commit | 856a9e953bd09de178648f5d0e7e6e7a8af2e0b5 (patch) | |
| tree | 54a70309b6acc5263ebd0b73b95c4867a353b11f | |
| parent | ea07fe7a3ff964bc2899a9b6e85bc86a0a4ac35b (diff) | |
Migrated admin_inlines doctest. Thanks to Sebastian Hillig.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13880 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | tests/regressiontests/admin_inlines/models.py | 22 | ||||
| -rw-r--r-- | tests/regressiontests/admin_inlines/tests.py | 21 |
2 files changed, 21 insertions, 22 deletions
diff --git a/tests/regressiontests/admin_inlines/models.py b/tests/regressiontests/admin_inlines/models.py index 5a12e0743c..4e5c4e3ae3 100644 --- a/tests/regressiontests/admin_inlines/models.py +++ b/tests/regressiontests/admin_inlines/models.py @@ -123,25 +123,3 @@ class InlineWeakness(admin.TabularInline): extra = 1 admin.site.register(Fashionista, inlines=[InlineWeakness]) - - -__test__ = {'API_TESTS': """ - -# Regression test for #9362 - ->>> sally = Teacher.objects.create(name='Sally') ->>> john = Parent.objects.create(name='John') ->>> joe = Child.objects.create(name='Joe', teacher=sally, parent=john) - -The problem depends only on InlineAdminForm and its "original" argument, so -we can safely set the other arguments to None/{}. We just need to check that -the content_type argument of Child isn't altered by the internals of the -inline form. - ->>> from django.contrib.admin.helpers import InlineAdminForm ->>> iaf = InlineAdminForm(None, None, {}, {}, joe) ->>> iaf.original -<Child: I am Joe, a child of John> - -""" -} diff --git a/tests/regressiontests/admin_inlines/tests.py b/tests/regressiontests/admin_inlines/tests.py index c27873ceec..c0c2bb7258 100644 --- a/tests/regressiontests/admin_inlines/tests.py +++ b/tests/regressiontests/admin_inlines/tests.py @@ -1,9 +1,13 @@ from django.test import TestCase +from django.contrib.admin.helpers import InlineAdminForm +from django.contrib.contenttypes.models import ContentType # local test models from models import Holder, Inner, InnerInline from models import Holder2, Inner2, Holder3, Inner3 from models import Person, OutfitItem, Fashionista +from models import Teacher, Parent, Child + class TestInline(TestCase): fixtures = ['admin-views-users.xml'] @@ -100,3 +104,20 @@ class TestInlineMedia(TestCase): response = self.client.get(change_url) self.assertContains(response, 'my_awesome_admin_scripts.js') self.assertContains(response, 'my_awesome_inline_scripts.js') + +class TestInlineAdminForm(TestCase): + + def test_immutable_content_type(self): + """Regression for #9362 + The problem depends only on InlineAdminForm and its "original" + argument, so we can safely set the other arguments to None/{}. We just + need to check that the content_type argument of Child isn't altered by + the internals of the inline form.""" + + sally = Teacher.objects.create(name='Sally') + john = Parent.objects.create(name='John') + joe = Child.objects.create(name='Joe', teacher=sally, parent=john) + + iaf = InlineAdminForm(None, None, {}, {}, joe) + parent_ct = ContentType.objects.get_for_model(Parent) + self.assertEqual(iaf.original.content_type, parent_ct) |
