diff options
| author | Derek Anderson <public@kered.org> | 2007-08-06 16:50:17 +0000 |
|---|---|---|
| committer | Derek Anderson <public@kered.org> | 2007-08-06 16:50:17 +0000 |
| commit | 5aa017255827b2c06bd9a5f7f069828ef625da18 (patch) | |
| tree | 22ec9db537e3eeda5c8e21dbfe35f252a97e375d /tests/regressiontests/maxlength | |
| parent | 0af6ed0c4853e11086e277ba352d27db4c466c89 (diff) | |
schema-evolution: update from HEAD (v5821)
git-svn-id: http://code.djangoproject.com/svn/django/branches/schema-evolution@5822 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/maxlength')
| -rw-r--r-- | tests/regressiontests/maxlength/__init__.py | 0 | ||||
| -rw-r--r-- | tests/regressiontests/maxlength/models.py | 0 | ||||
| -rw-r--r-- | tests/regressiontests/maxlength/tests.py | 160 |
3 files changed, 160 insertions, 0 deletions
diff --git a/tests/regressiontests/maxlength/__init__.py b/tests/regressiontests/maxlength/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/regressiontests/maxlength/__init__.py diff --git a/tests/regressiontests/maxlength/models.py b/tests/regressiontests/maxlength/models.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/regressiontests/maxlength/models.py diff --git a/tests/regressiontests/maxlength/tests.py b/tests/regressiontests/maxlength/tests.py new file mode 100644 index 0000000000..8a5f874c78 --- /dev/null +++ b/tests/regressiontests/maxlength/tests.py @@ -0,0 +1,160 @@ +# Test access to max_length while still providing full backwards compatibility +# with legacy maxlength attribute. +""" + +Don't print out the deprecation warnings during testing. +>>> from warnings import filterwarnings +>>> filterwarnings("ignore") + +# legacy_maxlength function + +>>> from django.utils.maxlength import legacy_maxlength + +>>> legacy_maxlength(None, None) + + +>>> legacy_maxlength(10, None) +10 + +>>> legacy_maxlength(None, 10) +10 + +>>> legacy_maxlength(10, 12) +Traceback (most recent call last): +... +TypeError: field can not take both the max_length argument and the legacy maxlength argument. + +>>> legacy_maxlength(0, 10) +Traceback (most recent call last): +... +TypeError: field can not take both the max_length argument and the legacy maxlength argument. + +>>> legacy_maxlength(0, None) +0 + +>>> legacy_maxlength(None, 0) +0 + +#=============================================================================== +# Fields +#=============================================================================== + +# Set up fields +>>> from django.db.models import fields +>>> new = fields.Field(max_length=15) +>>> old = fields.Field(maxlength=10) + +# Ensure both max_length and legacy maxlength are not able to both be specified +>>> fields.Field(maxlength=10, max_length=15) +Traceback (most recent call last): + ... +TypeError: field can not take both the max_length argument and the legacy maxlength argument. + +# Test max_length +>>> new.max_length +15 +>>> old.max_length +10 + +# Test accessing maxlength +>>> new.maxlength +15 +>>> old.maxlength +10 + +# Test setting maxlength +>>> new.maxlength += 1 +>>> old.maxlength += 1 +>>> new.max_length +16 +>>> old.max_length +11 + +# SlugField __init__ passes through max_length so test that too +>>> fields.SlugField('new', max_length=15).max_length +15 +>>> fields.SlugField('empty').max_length +50 +>>> fields.SlugField('old', maxlength=10).max_length +10 + +#=============================================================================== +# (old)forms +#=============================================================================== + +>>> from django import oldforms + +# Test max_length attribute + +>>> oldforms.TextField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vTextField" name="new" size="30" value="" maxlength="15" />' + +>>> oldforms.IntegerField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vIntegerField" name="new" size="10" value="" maxlength="15" />' + +>>> oldforms.SmallIntegerField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vSmallIntegerField" name="new" size="5" value="" maxlength="15" />' + +>>> oldforms.PositiveIntegerField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vPositiveIntegerField" name="new" size="10" value="" maxlength="15" />' + +>>> oldforms.PositiveSmallIntegerField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vPositiveSmallIntegerField" name="new" size="5" value="" maxlength="15" />' + +>>> oldforms.DatetimeField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vDatetimeField" name="new" size="30" value="" maxlength="15" />' + +>>> oldforms.EmailField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vEmailField" name="new" size="50" value="" maxlength="15" />' +>>> oldforms.EmailField('new').render('') +u'<input type="text" id="id_new" class="vEmailField" name="new" size="50" value="" maxlength="75" />' + +>>> oldforms.URLField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vURLField" name="new" size="50" value="" maxlength="15" />' +>>> oldforms.URLField('new').render('') +u'<input type="text" id="id_new" class="vURLField" name="new" size="50" value="" maxlength="200" />' + +>>> oldforms.IPAddressField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vIPAddressField" name="new" size="15" value="" maxlength="15" />' +>>> oldforms.IPAddressField('new').render('') +u'<input type="text" id="id_new" class="vIPAddressField" name="new" size="15" value="" maxlength="15" />' + +>>> oldforms.CommaSeparatedIntegerField('new', max_length=15).render('') +u'<input type="text" id="id_new" class="vCommaSeparatedIntegerField" name="new" size="20" value="" maxlength="15" />' + + +# Test legacy maxlength attribute + +>>> oldforms.TextField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vTextField" name="old" size="30" value="" maxlength="10" />' + +>>> oldforms.IntegerField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vIntegerField" name="old" size="10" value="" maxlength="10" />' + +>>> oldforms.SmallIntegerField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vSmallIntegerField" name="old" size="5" value="" maxlength="10" />' + +>>> oldforms.PositiveIntegerField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vPositiveIntegerField" name="old" size="10" value="" maxlength="10" />' + +>>> oldforms.PositiveSmallIntegerField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vPositiveSmallIntegerField" name="old" size="5" value="" maxlength="10" />' + +>>> oldforms.DatetimeField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vDatetimeField" name="old" size="30" value="" maxlength="10" />' + +>>> oldforms.EmailField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vEmailField" name="old" size="50" value="" maxlength="10" />' + +>>> oldforms.URLField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vURLField" name="old" size="50" value="" maxlength="10" />' + +>>> oldforms.IPAddressField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vIPAddressField" name="old" size="15" value="" maxlength="10" />' + +>>> oldforms.CommaSeparatedIntegerField('old', maxlength=10).render('') +u'<input type="text" id="id_old" class="vCommaSeparatedIntegerField" name="old" size="20" value="" maxlength="10" />' +""" +if __name__ == "__main__": + import doctest + doctest.testmod() |
