diff options
| author | Simon Charette <charette.s@gmail.com> | 2013-02-05 05:39:35 -0500 |
|---|---|---|
| committer | Simon Charette <charette.s@gmail.com> | 2013-02-05 05:39:35 -0500 |
| commit | a097ee32d8364045a950d6a36b19630fc34397f1 (patch) | |
| tree | b57cf2b53431367308b82ed20c12616ba3fc8660 /tests/regressiontests/model_formsets_regress | |
| parent | ec469ade2b04b94bfeb59fb0fc7d9300470be615 (diff) | |
Fixed #17683 -- Make sure `BaseModelFormSet` respects defined widgets.
Diffstat (limited to 'tests/regressiontests/model_formsets_regress')
| -rw-r--r-- | tests/regressiontests/model_formsets_regress/tests.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/tests/regressiontests/model_formsets_regress/tests.py b/tests/regressiontests/model_formsets_regress/tests.py index 8cadcfc409..fd35eda854 100644 --- a/tests/regressiontests/model_formsets_regress/tests.py +++ b/tests/regressiontests/model_formsets_regress/tests.py @@ -261,14 +261,17 @@ class FormsetTests(TestCase): formset.save() -class CustomWidget(forms.CharField): +class CustomWidget(forms.widgets.TextInput): pass class UserSiteForm(forms.ModelForm): class Meta: model = UserSite - widgets = {'data': CustomWidget} + widgets = { + 'id': CustomWidget, + 'data': CustomWidget, + } class Callback(object): @@ -283,24 +286,27 @@ class Callback(object): class FormfieldCallbackTests(TestCase): """ - Regression for #13095: Using base forms with widgets - defined in Meta should not raise errors. + Regression for #13095 and #17683: Using base forms with widgets + defined in Meta should not raise errors and BaseModelForm should respect + the specified pk widget. """ def test_inlineformset_factory_default(self): Formset = inlineformset_factory(User, UserSite, form=UserSiteForm) form = Formset().forms[0] + self.assertTrue(isinstance(form['id'].field.widget, CustomWidget)) self.assertTrue(isinstance(form['data'].field.widget, CustomWidget)) def test_modelformset_factory_default(self): Formset = modelformset_factory(UserSite, form=UserSiteForm) form = Formset().forms[0] + self.assertTrue(isinstance(form['id'].field.widget, CustomWidget)) self.assertTrue(isinstance(form['data'].field.widget, CustomWidget)) def assertCallbackCalled(self, callback): id_field, user_field, data_field = UserSite._meta.fields expected_log = [ - (id_field, {}), + (id_field, {'widget': CustomWidget}), (user_field, {}), (data_field, {'widget': CustomWidget}), ] @@ -318,7 +324,6 @@ class FormfieldCallbackTests(TestCase): formfield_callback=callback) self.assertCallbackCalled(callback) - class BaseCustomDeleteFormSet(BaseFormSet): """ A formset mix-in that lets a form decide if it's to be deleted. |
