summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2011-01-08 14:37:26 +0000
committerAndrew Godwin <andrew@aeracode.org>2011-01-08 14:37:26 +0000
commitd216ff9b922aa246be5d199401494946f4a37ff7 (patch)
tree2387eb8731cba1008d76ded3ee8cb513b65ffbb6
parent81e05a418dc6f347d9627373288e773c477a9fe0 (diff)
Fixed #12295 -- Issue had already been fixed, but added test. Thanks tomevans222 and dpn.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15158 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--tests/regressiontests/forms/tests/formsets.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/regressiontests/forms/tests/formsets.py b/tests/regressiontests/forms/tests/formsets.py
index 4050231844..cbff56f55e 100644
--- a/tests/regressiontests/forms/tests/formsets.py
+++ b/tests/regressiontests/forms/tests/formsets.py
@@ -29,6 +29,11 @@ class BaseFavoriteDrinksFormSet(BaseFormSet):
seen_drinks.append(drink['name'])
+class EmptyFsetWontValidate(BaseFormSet):
+ def clean(self):
+ raise ValidationError("Clean method called")
+
+
# Let's define a FormSet that takes a list of favorite drinks, but raises an
# error if there are any duplicates. Used in ``test_clean_hook``,
# ``test_regression_6926`` & ``test_regression_12878``.
@@ -872,3 +877,13 @@ class TestIsBoundBehavior(TestCase):
formset = ArticleFormSet(data)
self.assertFalse(formset.is_valid())
self.assertEquals([{}, {'pub_date': [u'This field is required.']}], formset.errors)
+
+class TestEmptyFormSet(TestCase):
+ "Test that an empty formset still calls clean()"
+ def test_empty_formset_is_valid(self):
+ EmptyFsetWontValidateFormset = formset_factory(FavoriteDrinkForm, extra=0, formset=EmptyFsetWontValidate)
+ formset = EmptyFsetWontValidateFormset(data={'form-INITIAL_FORMS':'0', 'form-TOTAL_FORMS':'0'},prefix="form")
+ formset2 = EmptyFsetWontValidateFormset(data={'form-INITIAL_FORMS':'0', 'form-TOTAL_FORMS':'1', 'form-0-name':'bah' },prefix="form")
+ self.assertFalse(formset.is_valid())
+ self.assertFalse(formset2.is_valid())
+