summaryrefslogtreecommitdiff
path: root/tests/forms_tests/field_tests/test_integerfield.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/forms_tests/field_tests/test_integerfield.py')
-rw-r--r--tests/forms_tests/field_tests/test_integerfield.py112
1 files changed, 66 insertions, 46 deletions
diff --git a/tests/forms_tests/field_tests/test_integerfield.py b/tests/forms_tests/field_tests/test_integerfield.py
index 0dde7ff488..15314d53a4 100644
--- a/tests/forms_tests/field_tests/test_integerfield.py
+++ b/tests/forms_tests/field_tests/test_integerfield.py
@@ -6,91 +6,108 @@ from . import FormFieldAssertionsMixin
class IntegerFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
-
def test_integerfield_1(self):
f = IntegerField()
- self.assertWidgetRendersTo(f, '<input type="number" name="f" id="id_f" required>')
+ self.assertWidgetRendersTo(
+ f, '<input type="number" name="f" id="id_f" required>'
+ )
with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
- f.clean('')
+ f.clean("")
with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
f.clean(None)
- self.assertEqual(1, f.clean('1'))
- self.assertIsInstance(f.clean('1'), int)
- self.assertEqual(23, f.clean('23'))
+ self.assertEqual(1, f.clean("1"))
+ self.assertIsInstance(f.clean("1"), int)
+ self.assertEqual(23, f.clean("23"))
with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
- f.clean('a')
+ f.clean("a")
self.assertEqual(42, f.clean(42))
with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
f.clean(3.14)
- self.assertEqual(1, f.clean('1 '))
- self.assertEqual(1, f.clean(' 1'))
- self.assertEqual(1, f.clean(' 1 '))
+ self.assertEqual(1, f.clean("1 "))
+ self.assertEqual(1, f.clean(" 1"))
+ self.assertEqual(1, f.clean(" 1 "))
with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
- f.clean('1a')
+ f.clean("1a")
self.assertIsNone(f.max_value)
self.assertIsNone(f.min_value)
def test_integerfield_2(self):
f = IntegerField(required=False)
- self.assertIsNone(f.clean(''))
- self.assertEqual('None', repr(f.clean('')))
+ self.assertIsNone(f.clean(""))
+ self.assertEqual("None", repr(f.clean("")))
self.assertIsNone(f.clean(None))
- self.assertEqual('None', repr(f.clean(None)))
- self.assertEqual(1, f.clean('1'))
- self.assertIsInstance(f.clean('1'), int)
- self.assertEqual(23, f.clean('23'))
+ self.assertEqual("None", repr(f.clean(None)))
+ self.assertEqual(1, f.clean("1"))
+ self.assertIsInstance(f.clean("1"), int)
+ self.assertEqual(23, f.clean("23"))
with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
- f.clean('a')
- self.assertEqual(1, f.clean('1 '))
- self.assertEqual(1, f.clean(' 1'))
- self.assertEqual(1, f.clean(' 1 '))
+ f.clean("a")
+ self.assertEqual(1, f.clean("1 "))
+ self.assertEqual(1, f.clean(" 1"))
+ self.assertEqual(1, f.clean(" 1 "))
with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
- f.clean('1a')
+ f.clean("1a")
self.assertIsNone(f.max_value)
self.assertIsNone(f.min_value)
def test_integerfield_3(self):
f = IntegerField(max_value=10)
- self.assertWidgetRendersTo(f, '<input max="10" type="number" name="f" id="id_f" required>')
+ self.assertWidgetRendersTo(
+ f, '<input max="10" type="number" name="f" id="id_f" required>'
+ )
with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
f.clean(None)
self.assertEqual(1, f.clean(1))
self.assertEqual(10, f.clean(10))
- with self.assertRaisesMessage(ValidationError, "'Ensure this value is less than or equal to 10.'"):
+ with self.assertRaisesMessage(
+ ValidationError, "'Ensure this value is less than or equal to 10.'"
+ ):
f.clean(11)
- self.assertEqual(10, f.clean('10'))
- with self.assertRaisesMessage(ValidationError, "'Ensure this value is less than or equal to 10.'"):
- f.clean('11')
+ self.assertEqual(10, f.clean("10"))
+ with self.assertRaisesMessage(
+ ValidationError, "'Ensure this value is less than or equal to 10.'"
+ ):
+ f.clean("11")
self.assertEqual(f.max_value, 10)
self.assertIsNone(f.min_value)
def test_integerfield_4(self):
f = IntegerField(min_value=10)
- self.assertWidgetRendersTo(f, '<input id="id_f" type="number" name="f" min="10" required>')
+ self.assertWidgetRendersTo(
+ f, '<input id="id_f" type="number" name="f" min="10" required>'
+ )
with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
f.clean(None)
- with self.assertRaisesMessage(ValidationError, "'Ensure this value is greater than or equal to 10.'"):
+ with self.assertRaisesMessage(
+ ValidationError, "'Ensure this value is greater than or equal to 10.'"
+ ):
f.clean(1)
self.assertEqual(10, f.clean(10))
self.assertEqual(11, f.clean(11))
- self.assertEqual(10, f.clean('10'))
- self.assertEqual(11, f.clean('11'))
+ self.assertEqual(10, f.clean("10"))
+ self.assertEqual(11, f.clean("11"))
self.assertIsNone(f.max_value)
self.assertEqual(f.min_value, 10)
def test_integerfield_5(self):
f = IntegerField(min_value=10, max_value=20)
- self.assertWidgetRendersTo(f, '<input id="id_f" max="20" type="number" name="f" min="10" required>')
+ self.assertWidgetRendersTo(
+ f, '<input id="id_f" max="20" type="number" name="f" min="10" required>'
+ )
with self.assertRaisesMessage(ValidationError, "'This field is required.'"):
f.clean(None)
- with self.assertRaisesMessage(ValidationError, "'Ensure this value is greater than or equal to 10.'"):
+ with self.assertRaisesMessage(
+ ValidationError, "'Ensure this value is greater than or equal to 10.'"
+ ):
f.clean(1)
self.assertEqual(10, f.clean(10))
self.assertEqual(11, f.clean(11))
- self.assertEqual(10, f.clean('10'))
- self.assertEqual(11, f.clean('11'))
+ self.assertEqual(10, f.clean("10"))
+ self.assertEqual(11, f.clean("11"))
self.assertEqual(20, f.clean(20))
- with self.assertRaisesMessage(ValidationError, "'Ensure this value is less than or equal to 20.'"):
+ with self.assertRaisesMessage(
+ ValidationError, "'Ensure this value is less than or equal to 20.'"
+ ):
f.clean(21)
self.assertEqual(f.max_value, 20)
self.assertEqual(f.min_value, 10)
@@ -101,34 +118,37 @@ class IntegerFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
number input specific attributes.
"""
f1 = IntegerField(localize=True)
- self.assertWidgetRendersTo(f1, '<input id="id_f" name="f" type="text" required>')
+ self.assertWidgetRendersTo(
+ f1, '<input id="id_f" name="f" type="text" required>'
+ )
def test_integerfield_float(self):
f = IntegerField()
self.assertEqual(1, f.clean(1.0))
- self.assertEqual(1, f.clean('1.0'))
- self.assertEqual(1, f.clean(' 1.0 '))
- self.assertEqual(1, f.clean('1.'))
- self.assertEqual(1, f.clean(' 1. '))
+ self.assertEqual(1, f.clean("1.0"))
+ self.assertEqual(1, f.clean(" 1.0 "))
+ self.assertEqual(1, f.clean("1."))
+ self.assertEqual(1, f.clean(" 1. "))
with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
- f.clean('1.5')
+ f.clean("1.5")
with self.assertRaisesMessage(ValidationError, "'Enter a whole number.'"):
- f.clean('…')
+ f.clean("…")
def test_integerfield_big_num(self):
f = IntegerField()
self.assertEqual(9223372036854775808, f.clean(9223372036854775808))
- self.assertEqual(9223372036854775808, f.clean('9223372036854775808'))
- self.assertEqual(9223372036854775808, f.clean('9223372036854775808.0'))
+ self.assertEqual(9223372036854775808, f.clean("9223372036854775808"))
+ self.assertEqual(9223372036854775808, f.clean("9223372036854775808.0"))
def test_integerfield_unicode_number(self):
f = IntegerField()
- self.assertEqual(50, f.clean('50'))
+ self.assertEqual(50, f.clean("50"))
def test_integerfield_subclass(self):
"""
Class-defined widget is not overwritten by __init__() (#22245).
"""
+
class MyIntegerField(IntegerField):
widget = Textarea