diff options
author | redodo <me@redodo.io> | 2018-11-19 21:29:57 +0100 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2018-11-20 18:17:53 -0500 |
commit | 2e4776196d0e7519f2fb306e8aabadc6f2968866 (patch) | |
tree | dca7fc78a00295c686b18b3df1eba21dcf6e5b47 /tests/admin_inlines | |
parent | acdd18dffc86dca9b3bee780a331ef2354028d42 (diff) | |
download | django-2e4776196d0e7519f2fb306e8aabadc6f2968866.tar.gz |
Fixed #29953 -- Added CSS class to column headers in tabular inlines.
The class name is the same as one given to the fields in the change list.
Diffstat (limited to 'tests/admin_inlines')
-rw-r--r-- | tests/admin_inlines/models.py | 1 | ||||
-rw-r--r-- | tests/admin_inlines/tests.py | 22 |
2 files changed, 19 insertions, 4 deletions
diff --git a/tests/admin_inlines/models.py b/tests/admin_inlines/models.py index cb1ec39ae5..38b2999f79 100644 --- a/tests/admin_inlines/models.py +++ b/tests/admin_inlines/models.py @@ -152,6 +152,7 @@ class Poll(models.Model): class Question(models.Model): + text = models.CharField(max_length=40) poll = models.ForeignKey(Poll, models.CASCADE) diff --git a/tests/admin_inlines/tests.py b/tests/admin_inlines/tests.py index 749b3dd75f..66cf57dba1 100644 --- a/tests/admin_inlines/tests.py +++ b/tests/admin_inlines/tests.py @@ -85,13 +85,27 @@ class TestInline(TestDataMixin, TestCase): self.assertEqual(response.status_code, 302) self.assertEqual(len(Fashionista.objects.filter(person__firstname='Imelda')), 1) + def test_tabular_inline_column_css_class(self): + """ + Field names are included in the context to output a field-specific + CSS class name in the column headers. + """ + response = self.client.get(reverse('admin:admin_inlines_poll_add')) + text_field, call_me_field = list(response.context['inline_admin_formset'].fields()) + # Editable field. + self.assertEqual(text_field['name'], 'text') + self.assertContains(response, '<th class="column-text required">') + # Read-only field. + self.assertEqual(call_me_field['name'], 'call_me') + self.assertContains(response, '<th class="column-call_me">') + def test_custom_form_tabular_inline_label(self): """ A model form with a form field specified (TitleForm.title1) should have its label rendered in the tabular inline. """ response = self.client.get(reverse('admin:admin_inlines_titlecollection_add')) - self.assertContains(response, '<th class="required">Title1</th>', html=True) + self.assertContains(response, '<th class="column-title1 required">Title1</th>', html=True) def test_custom_form_tabular_inline_overridden_label(self): """ @@ -101,7 +115,7 @@ class TestInline(TestDataMixin, TestCase): response = self.client.get(reverse('admin:admin_inlines_someparentmodel_add')) field = list(response.context['inline_admin_formset'].fields())[0] self.assertEqual(field['label'], 'new label') - self.assertContains(response, '<th class="required">New label</th>', html=True) + self.assertContains(response, '<th class="column-name required">New label</th>', html=True) def test_tabular_non_field_errors(self): """ @@ -710,7 +724,7 @@ class TestInlinePermissions(TestCase): html=True ) # TabularInline - self.assertContains(response, '<th class="required">Dummy</th>', html=True) + self.assertContains(response, '<th class="column-dummy required">Dummy</th>', html=True) self.assertContains( response, '<input type="number" name="inner2_set-2-0-dummy" value="%s" ' @@ -781,7 +795,7 @@ class TestInlinePermissions(TestCase): ) self.assertContains(response, 'id="id_inner2_set-0-DELETE"') # TabularInline - self.assertContains(response, '<th class="required">Dummy</th>', html=True) + self.assertContains(response, '<th class="column-dummy required">Dummy</th>', html=True) self.assertContains( response, '<input type="number" name="inner2_set-2-0-dummy" value="%s" ' |