~ubuntu-branches/ubuntu/quantal/python-django/quantal

« back to all changes in this revision

Viewing changes to tests/regressiontests/max_lengths/tests.py

  • Committer: Bazaar Package Importer
  • Author(s): Chris Lamb
  • Date: 2009-07-29 11:26:28 UTC
  • mfrom: (1.1.8 upstream) (4.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20090729112628-pg09ino8sz0sj21t
Tags: 1.1-1
* New upstream release.
* Merge from experimental:
  - Ship FastCGI initscript and /etc/default file in python-django's examples
    directory (Closes: #538863)
  - Drop "05_10539-sphinx06-compatibility.diff"; it has been applied
    upstream.
  - Bump Standards-Version to 3.8.2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from unittest import TestCase
 
2
from django.db import DatabaseError
 
3
from regressiontests.max_lengths.models import PersonWithDefaultMaxLengths, PersonWithCustomMaxLengths
 
4
 
 
5
class MaxLengthArgumentsTests(TestCase):
 
6
        
 
7
    def verify_max_length(self, model,field,length):
 
8
        self.assertEquals(model._meta.get_field(field).max_length,length)
 
9
        
 
10
    def test_default_max_lengths(self):
 
11
        self.verify_max_length(PersonWithDefaultMaxLengths, 'email', 75)
 
12
        self.verify_max_length(PersonWithDefaultMaxLengths, 'vcard', 100)
 
13
        self.verify_max_length(PersonWithDefaultMaxLengths, 'homepage', 200)
 
14
        self.verify_max_length(PersonWithDefaultMaxLengths, 'avatar', 100)
 
15
 
 
16
    def test_custom_max_lengths(self):
 
17
        self.verify_max_length(PersonWithCustomMaxLengths, 'email', 250)
 
18
        self.verify_max_length(PersonWithCustomMaxLengths, 'vcard', 250)
 
19
        self.verify_max_length(PersonWithCustomMaxLengths, 'homepage', 250)
 
20
        self.verify_max_length(PersonWithCustomMaxLengths, 'avatar', 250)
 
21
 
 
22
class MaxLengthORMTests(TestCase):
 
23
 
 
24
    def test_custom_max_lengths(self):
 
25
        args = {
 
26
            "email": "someone@example.com",
 
27
            "vcard": "vcard",
 
28
            "homepage": "http://example.com/",
 
29
            "avatar": "me.jpg"
 
30
        }
 
31
 
 
32
        for field in ("email", "vcard", "homepage", "avatar"):
 
33
            new_args = args.copy()
 
34
            new_args[field] = "X" * 250 # a value longer than any of the default fields could hold.
 
35
            p = PersonWithCustomMaxLengths.objects.create(**new_args)
 
36
            self.assertEqual(getattr(p, field), ("X" * 250))
 
 
b'\\ No newline at end of file'