test_forms.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. def test_stripme_input_is_autostripped(self):
  9. """Automatic strip worked on stripme input"""
  10. form = MockForm({'stripme': u' Ni! '})
  11. form.full_clean()
  12. self.assertEqual(form.cleaned_data['stripme'], 'Ni!')
  13. def test_dontstripme_input_is_ignored(self):
  14. """Automatic strip ignored dontstripme input"""
  15. form = MockForm({'dontstripme': u' Ni! '})
  16. form.full_clean()
  17. self.assertEqual(form.cleaned_data['dontstripme'], ' Ni! ')
  18. class YesNoForm(forms.Form):
  19. test_field = forms.YesNoSwitch(label='Hello!')
  20. class YesNoSwitchTests(TestCase):
  21. def test_valid_inputs(self):
  22. """YesNoSwitch returns valid values for valid input"""
  23. form = YesNoForm({'test_field': u'1'})
  24. form.full_clean()
  25. self.assertEqual(form.cleaned_data['test_field'], 1)
  26. form = YesNoForm({'test_field': u'0'})
  27. form.full_clean()
  28. self.assertEqual(form.cleaned_data['test_field'], 0)
  29. def test_dontstripme_input_is_ignored(self):
  30. """YesNoSwitch returns valid values for invalid input"""
  31. form = YesNoForm({'test_field': u'221'})
  32. form.full_clean()
  33. self.assertFalse(form.cleaned_data.get('test_field'))