diff options
| author | Honza Král <honza.kral@gmail.com> | 2010-10-18 04:44:49 +0000 |
|---|---|---|
| committer | Honza Král <honza.kral@gmail.com> | 2010-10-18 04:44:49 +0000 |
| commit | c5df329996ca4801b0d97d4a70bc1bea6b8663c4 (patch) | |
| tree | 9e84ebb28349f44013600774c6bead52ffa10800 /tests | |
| parent | 59952b6f9a35bc6fce19d3bc199c7e6c892e2c38 (diff) | |
Fixed #12074 -- Adding .as_p and as_ul methods to FormSet. Thanks arthurdebert and dpn for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14250 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/forms/formsets.py | 38 | ||||
| -rw-r--r-- | tests/regressiontests/forms/tests.py | 2 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/regressiontests/forms/formsets.py b/tests/regressiontests/forms/formsets.py index fade987c26..f8b8ae2a8a 100644 --- a/tests/regressiontests/forms/formsets.py +++ b/tests/regressiontests/forms/formsets.py @@ -1,4 +1,8 @@ # -*- coding: utf-8 -*- +from django.test.testcases import TestCase +from django.forms.forms import Form +from django.forms.fields import CharField, IntegerField +from django.forms.formsets import formset_factory tests = """ # Basic FormSet creation and usage ############################################ @@ -722,3 +726,37 @@ False <ul class="errorlist"><li>You may only specify a drink once.</li></ul> """ + +data = { + 'choices-TOTAL_FORMS': '1', # the number of forms rendered + 'choices-INITIAL_FORMS': '0', # the number of forms with initial data + 'choices-MAX_NUM_FORMS': '0', # max number of forms + 'choices-0-choice': 'Calexico', + 'choices-0-votes': '100', +} + +class Choice(Form): + choice = CharField() + votes = IntegerField() + +ChoiceFormSet = formset_factory(Choice) + +class FormsetAsFooTests(TestCase): + def test_as_table(self): + formset = ChoiceFormSet(data, auto_id=False, prefix='choices') + self.assertEqual(formset.as_table(),"""<input type="hidden" name="choices-TOTAL_FORMS" value="1" /><input type="hidden" name="choices-INITIAL_FORMS" value="0" /><input type="hidden" name="choices-MAX_NUM_FORMS" value="0" /> +<tr><th>Choice:</th><td><input type="text" name="choices-0-choice" value="Calexico" /></td></tr> +<tr><th>Votes:</th><td><input type="text" name="choices-0-votes" value="100" /></td></tr>""") + + def test_as_p(self): + formset = ChoiceFormSet(data, auto_id=False, prefix='choices') + self.assertEqual(formset.as_p(),"""<input type="hidden" name="choices-TOTAL_FORMS" value="1" /><input type="hidden" name="choices-INITIAL_FORMS" value="0" /><input type="hidden" name="choices-MAX_NUM_FORMS" value="0" /> +<p>Choice: <input type="text" name="choices-0-choice" value="Calexico" /></p> +<p>Votes: <input type="text" name="choices-0-votes" value="100" /></p>""") + + def test_as_ul(self): + formset = ChoiceFormSet(data, auto_id=False, prefix='choices') + self.assertEqual(formset.as_ul(),"""<input type="hidden" name="choices-TOTAL_FORMS" value="1" /><input type="hidden" name="choices-INITIAL_FORMS" value="0" /><input type="hidden" name="choices-MAX_NUM_FORMS" value="0" /> +<li>Choice: <input type="text" name="choices-0-choice" value="Calexico" /></li> +<li>Votes: <input type="text" name="choices-0-votes" value="100" /></li>""") + diff --git a/tests/regressiontests/forms/tests.py b/tests/regressiontests/forms/tests.py index 635a989b05..fbf3158ca1 100644 --- a/tests/regressiontests/forms/tests.py +++ b/tests/regressiontests/forms/tests.py @@ -38,6 +38,8 @@ from widgets import tests as widgets_tests from formsets import tests as formset_tests from media import media_tests + +from formsets import FormsetAsFooTests from fields import FieldsTests from validators import TestFieldWithValidators from widgets import WidgetTests, ClearableFileInputTests |
