test_forms.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from django.test import TestCase
  2. from misago.core import forms
  3. class MockForm(forms.Form):
  4. stripme = forms.CharField(required=False)
  5. autostrip_exclude = ['dontstripme']
  6. dontstripme = forms.CharField(required=False)
  7. class MisagoFormsTests(TestCase):
  8. serialized_rollback = True
  9. def test_stripme_input_is_autostripped(self):
  10. """Automatic strip worked on stripme input"""
  11. form = MockForm({'stripme': u' Ni! '})
  12. form.full_clean()
  13. self.assertEqual(form.cleaned_data['stripme'], 'Ni!')
  14. def test_dontstripme_input_is_ignored(self):
  15. """Automatic strip ignored dontstripme input"""
  16. form = MockForm({'dontstripme': u' Ni! '})
  17. form.full_clean()
  18. self.assertEqual(form.cleaned_data['dontstripme'], ' Ni! ')
  19. class YesNoForm(forms.Form):
  20. test_field = forms.YesNoSwitch(label='Hello!')
  21. class YesNoSwitchTests(TestCase):
  22. serialized_rollback = True
  23. def test_valid_inputs(self):
  24. """YesNoSwitch returns valid values for valid input"""
  25. form = YesNoForm({'test_field': u'1'})
  26. form.full_clean()
  27. self.assertTrue(form.cleaned_data['test_field'])
  28. form = YesNoForm({'test_field': u'0'})
  29. form.full_clean()
  30. self.assertTrue(not form.cleaned_data['test_field'])
  31. def test_dontstripme_input_is_ignored(self):
  32. """YesNoSwitch returns valid values for invalid input"""
  33. form = YesNoForm({'test_field': u'221'})
  34. form.full_clean()
  35. self.assertTrue(form.cleaned_data.get('test_field') is None)