summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2011-01-13 16:41:46 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2011-01-13 16:41:46 +0000
commit1222bd6f6f7f74a5b885f8a69242011ba3bc5a93 (patch)
tree77181d39f0a4ee05c7058f6b576e86c67ba8c8f3 /tests
parent8781ea6cd71de32fc9cc30c3427c682b9448fd50 (diff)
Fixed #13631 -- Made sure that max_length and min_length are retained as attributes on form fields. Thanks to mila for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15194 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/forms/tests/fields.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/regressiontests/forms/tests/fields.py b/tests/regressiontests/forms/tests/fields.py
index 93ca5c1762..576a9c3d7b 100644
--- a/tests/regressiontests/forms/tests/fields.py
+++ b/tests/regressiontests/forms/tests/fields.py
@@ -69,6 +69,8 @@ class FieldsTests(TestCase):
self.assertRaisesErrorWithMessage(ValidationError, "[u'This field is required.']", f.clean, None)
self.assertRaisesErrorWithMessage(ValidationError, "[u'This field is required.']", f.clean, '')
self.assertEqual(u'[1, 2, 3]', f.clean([1, 2, 3]))
+ self.assertEqual(f.max_length, None)
+ self.assertEqual(f.min_length, None)
def test_charfield_2(self):
f = CharField(required=False)
@@ -77,12 +79,16 @@ class FieldsTests(TestCase):
self.assertEqual(u'', f.clean(None))
self.assertEqual(u'', f.clean(''))
self.assertEqual(u'[1, 2, 3]', f.clean([1, 2, 3]))
+ self.assertEqual(f.max_length, None)
+ self.assertEqual(f.min_length, None)
def test_charfield_3(self):
f = CharField(max_length=10, required=False)
self.assertEqual(u'12345', f.clean('12345'))
self.assertEqual(u'1234567890', f.clean('1234567890'))
self.assertRaisesErrorWithMessage(ValidationError, "[u'Ensure this value has at most 10 characters (it has 11).']", f.clean, '1234567890a')
+ self.assertEqual(f.max_length, 10)
+ self.assertEqual(f.min_length, None)
def test_charfield_4(self):
f = CharField(min_length=10, required=False)
@@ -90,6 +96,8 @@ class FieldsTests(TestCase):
self.assertRaisesErrorWithMessage(ValidationError, "[u'Ensure this value has at least 10 characters (it has 5).']", f.clean, '12345')
self.assertEqual(u'1234567890', f.clean('1234567890'))
self.assertEqual(u'1234567890a', f.clean('1234567890a'))
+ self.assertEqual(f.max_length, None)
+ self.assertEqual(f.min_length, 10)
def test_charfield_5(self):
f = CharField(min_length=10, required=True)
@@ -97,6 +105,8 @@ class FieldsTests(TestCase):
self.assertRaisesErrorWithMessage(ValidationError, "[u'Ensure this value has at least 10 characters (it has 5).']", f.clean, '12345')
self.assertEqual(u'1234567890', f.clean('1234567890'))
self.assertEqual(u'1234567890a', f.clean('1234567890a'))
+ self.assertEqual(f.max_length, None)
+ self.assertEqual(f.min_length, 10)
# IntegerField ################################################################
@@ -114,6 +124,8 @@ class FieldsTests(TestCase):
self.assertEqual(1, f.clean(' 1'))
self.assertEqual(1, f.clean(' 1 '))
self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a whole number.']", f.clean, '1a')
+ self.assertEqual(f.max_value, None)
+ self.assertEqual(f.min_value, None)
def test_integerfield_2(self):
f = IntegerField(required=False)
@@ -129,6 +141,8 @@ class FieldsTests(TestCase):
self.assertEqual(1, f.clean(' 1'))
self.assertEqual(1, f.clean(' 1 '))
self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a whole number.']", f.clean, '1a')
+ self.assertEqual(f.max_value, None)
+ self.assertEqual(f.min_value, None)
def test_integerfield_3(self):
f = IntegerField(max_value=10)
@@ -138,6 +152,8 @@ class FieldsTests(TestCase):
self.assertRaisesErrorWithMessage(ValidationError, "[u'Ensure this value is less than or equal to 10.']", f.clean, 11)
self.assertEqual(10, f.clean('10'))
self.assertRaisesErrorWithMessage(ValidationError, "[u'Ensure this value is less than or equal to 10.']", f.clean, '11')
+ self.assertEqual(f.max_value, 10)
+ self.assertEqual(f.min_value, None)
def test_integerfield_4(self):
f = IntegerField(min_value=10)
@@ -147,6 +163,8 @@ class FieldsTests(TestCase):
self.assertEqual(11, f.clean(11))
self.assertEqual(10, f.clean('10'))
self.assertEqual(11, f.clean('11'))
+ self.assertEqual(f.max_value, None)
+ self.assertEqual(f.min_value, 10)
def test_integerfield_5(self):
f = IntegerField(min_value=10, max_value=20)
@@ -158,6 +176,8 @@ class FieldsTests(TestCase):
self.assertEqual(11, f.clean('11'))
self.assertEqual(20, f.clean(20))
self.assertRaisesErrorWithMessage(ValidationError, "[u'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)
# FloatField ##################################################################
@@ -176,12 +196,16 @@ class FieldsTests(TestCase):
self.assertEqual(1.0, f.clean(' 1.0'))
self.assertEqual(1.0, f.clean(' 1.0 '))
self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a number.']", f.clean, '1.0a')
+ self.assertEqual(f.max_value, None)
+ self.assertEqual(f.min_value, None)
def test_floatfield_2(self):
f = FloatField(required=False)
self.assertEqual(None, f.clean(''))
self.assertEqual(None, f.clean(None))
self.assertEqual(1.0, f.clean('1'))
+ self.assertEqual(f.max_value, None)
+ self.assertEqual(f.min_value, None)
def test_floatfield_3(self):
f = FloatField(max_value=1.5, min_value=0.5)
@@ -189,6 +213,8 @@ class FieldsTests(TestCase):
self.assertRaisesErrorWithMessage(ValidationError, "[u'Ensure this value is greater than or equal to 0.5.']", f.clean, '0.4')
self.assertEqual(1.5, f.clean('1.5'))
self.assertEqual(0.5, f.clean('0.5'))
+ self.assertEqual(f.max_value, 1.5)
+ self.assertEqual(f.min_value, 0.5)
# DecimalField ################################################################
@@ -222,12 +248,20 @@ class FieldsTests(TestCase):
self.assertRaisesErrorWithMessage(ValidationError, "[u'Ensure that there are no more than 2 decimal places.']", f.clean, '-000.123')
self.assertRaisesErrorWithMessage(ValidationError, "[u'Ensure that there are no more than 4 digits in total.']", f.clean, '-000.12345')
self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a number.']", f.clean, '--0.12')
+ self.assertEqual(f.max_digits, 4)
+ self.assertEqual(f.decimal_places, 2)
+ self.assertEqual(f.max_value, None)
+ self.assertEqual(f.min_value, None)
def test_decimalfield_2(self):
f = DecimalField(max_digits=4, decimal_places=2, required=False)
self.assertEqual(None, f.clean(''))
self.assertEqual(None, f.clean(None))
self.assertEqual(f.clean('1'), Decimal("1"))
+ self.assertEqual(f.max_digits, 4)
+ self.assertEqual(f.decimal_places, 2)
+ self.assertEqual(f.max_value, None)
+ self.assertEqual(f.min_value, None)
def test_decimalfield_3(self):
f = DecimalField(max_digits=4, decimal_places=2, max_value=Decimal('1.5'), min_value=Decimal('0.5'))
@@ -237,6 +271,10 @@ class FieldsTests(TestCase):
self.assertEqual(f.clean('0.5'), Decimal("0.5"))
self.assertEqual(f.clean('.5'), Decimal("0.5"))
self.assertEqual(f.clean('00.50'), Decimal("0.50"))
+ self.assertEqual(f.max_digits, 4)
+ self.assertEqual(f.decimal_places, 2)
+ self.assertEqual(f.max_value, Decimal('1.5'))
+ self.assertEqual(f.min_value, Decimal('0.5'))
def test_decimalfield_4(self):
f = DecimalField(decimal_places=2)