from django.test import TestCase from .. import forms class YesNoForm(forms.Form): test_field = forms.YesNoSwitch(label='Hello!') class YesNoSwitchTests(TestCase): def test_valid_inputs(self): """YesNoSwitch returns valid values for valid input""" for true in ('1', 'True', 'true', 1, True): form = YesNoForm({'test_field': true}) form.full_clean() self.assertEqual(form.cleaned_data['test_field'], 1) for false in ('0', 'False', 'false', 'egebege', False, 0): form = YesNoForm({'test_field': false}) form.full_clean() self.assertEqual(form.cleaned_data['test_field'], 0) def test_dontstripme_input_is_ignored(self): """YesNoSwitch returns valid values for invalid input""" form = YesNoForm({'test_field': u'221'}) form.full_clean() self.assertFalse(form.cleaned_data.get('test_field'))