From 727133109cfb37d73da38d760198eb300125ddb0 Mon Sep 17 00:00:00 2001 From: Gary Wilson Jr Date: Fri, 15 Aug 2008 20:09:47 +0000 Subject: Fixed #8290 -- Fixed DecimalField's cleaning of values with a large number of decimal places, based on patch from dgouldin. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8391 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/forms/fields.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tests/regressiontests/forms') diff --git a/tests/regressiontests/forms/fields.py b/tests/regressiontests/forms/fields.py index a9aae4f442..ab7968f4a4 100644 --- a/tests/regressiontests/forms/fields.py +++ b/tests/regressiontests/forms/fields.py @@ -403,6 +403,33 @@ True >>> f.clean('00.50') == Decimal("0.50") True + +>>> f = DecimalField(decimal_places=2) +>>> f.clean('0.00000001') +Traceback (most recent call last): +... +ValidationError: [u'Ensure that there are no more than 2 decimal places.'] + + +>>> f = DecimalField(max_digits=3) + +# Leading whole zeros "collapse" to one digit. +>>> f.clean('0000000.10') == Decimal("0.1") +True +>>> f.clean('0000000.100') +Traceback (most recent call last): +... +ValidationError: [u'Ensure that there are no more than 3 digits in total.'] + +# Only leading whole zeros "collapse" to one digit. +>>> f.clean('000000.02') == Decimal('0.02') +True +>>> f.clean('000000.002') +Traceback (most recent call last): +... +ValidationError: [u'Ensure that there are no more than 3 digits in total.'] + + # DateField ################################################################### >>> import datetime -- cgit v1.3