summaryrefslogtreecommitdiff
path: root/tests/regressiontests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regressiontests')
-rw-r--r--tests/regressiontests/forms/models.py21
-rw-r--r--tests/regressiontests/forms/regressions.py6
-rw-r--r--tests/regressiontests/forms/tests.py33
3 files changed, 60 insertions, 0 deletions
diff --git a/tests/regressiontests/forms/models.py b/tests/regressiontests/forms/models.py
index e69de29bb2..f4f8607193 100644
--- a/tests/regressiontests/forms/models.py
+++ b/tests/regressiontests/forms/models.py
@@ -0,0 +1,21 @@
+from django.db import models
+
+class BoundaryModel(models.Model):
+ positive_integer = models.PositiveIntegerField(null=True, blank=True)
+
+__test__ = {'API_TESTS': """
+>>> from django.newforms import form_for_model
+
+# Boundary conditions on a PostitiveIntegerField #########################
+>>> BoundaryForm = form_for_model(BoundaryModel)
+>>> f = BoundaryForm({'positive_integer':100})
+>>> f.is_valid()
+True
+>>> f = BoundaryForm({'positive_integer':0})
+>>> f.is_valid()
+True
+>>> f = BoundaryForm({'positive_integer':-100})
+>>> f.is_valid()
+False
+
+"""} \ No newline at end of file
diff --git a/tests/regressiontests/forms/regressions.py b/tests/regressiontests/forms/regressions.py
index df2ef578a1..3212e20170 100644
--- a/tests/regressiontests/forms/regressions.py
+++ b/tests/regressiontests/forms/regressions.py
@@ -60,6 +60,12 @@ Translated error messages used to be buggy.
u'<ul class="errorlist"><li>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435.</li></ul>\n<p><label for="id_somechoice_0">\xc5\xf8\xdf:</label> <ul>\n<li><label><input type="radio" id="id_somechoice_0" value="\xc5" name="somechoice" /> En tied\xe4</label></li>\n<li><label><input type="radio" id="id_somechoice_1" value="\xf8" name="somechoice" /> Mies</label></li>\n<li><label><input type="radio" id="id_somechoice_2" value="\xdf" name="somechoice" /> Nainen</label></li>\n</ul></p>'
>>> deactivate()
+Deep copying translated text shouldn't raise an error
+>>> from django.utils.translation import gettext_lazy
+>>> class CopyForm(Form):
+... degree = IntegerField(widget=Select(choices=((1, gettext_lazy('test')),)))
+>>> f = CopyForm()
+
#######################
# Miscellaneous Tests #
#######################
diff --git a/tests/regressiontests/forms/tests.py b/tests/regressiontests/forms/tests.py
index fef8361a14..72033a4e60 100644
--- a/tests/regressiontests/forms/tests.py
+++ b/tests/regressiontests/forms/tests.py
@@ -961,6 +961,12 @@ True
Traceback (most recent call last):
...
ValidationError: [u'Enter a whole number.']
+>>> f.clean(42)
+42
+>>> f.clean(3.14)
+Traceback (most recent call last):
+...
+ValidationError: [u'Enter a whole number.']
>>> f.clean('1 ')
1
>>> f.clean(' 1')
@@ -1084,6 +1090,10 @@ True
23.0
>>> f.clean('3.14')
3.1400000000000001
+>>> f.clean(3.14)
+3.1400000000000001
+>>> f.clean(42)
+42.0
>>> f.clean('a')
Traceback (most recent call last):
...
@@ -1142,6 +1152,10 @@ True
Decimal("23")
>>> f.clean('3.14')
Decimal("3.14")
+>>> f.clean(3.14)
+Decimal("3.14")
+>>> f.clean(Decimal('3.14'))
+Decimal("3.14")
>>> f.clean('a')
Traceback (most recent call last):
...
@@ -3856,6 +3870,25 @@ u'sirrobin'
<div class="errorlist"><div class="error">This field is required.</div></div>
<p>Comment: <input type="text" name="comment" /></p>
+#################################
+# Test multipart-encoded form #
+#################################
+
+>>> class FormWithoutFile(Form):
+... username = CharField()
+>>> class FormWithFile(Form):
+... username = CharField()
+... file = FileField()
+>>> class FormWithImage(Form):
+... image = ImageField()
+
+>>> FormWithoutFile().is_multipart()
+False
+>>> FormWithFile().is_multipart()
+True
+>>> FormWithImage().is_multipart()
+True
+
"""
__test__ = {