Commit 896ebdcb authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

[1.2.X] Migrated reserved_names doctests. Thanks to Eric Florenzano.

Backport of r13830 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@13839 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 11f77de5
Loading
Loading
Loading
Loading
+1 −30
Original line number Diff line number Diff line
@@ -23,32 +23,3 @@ class Thing(models.Model):

    def __unicode__(self):
        return self.when
 No newline at end of file

__test__ = {'API_TESTS':"""
>>> import datetime
>>> day1 = datetime.date(2005, 1, 1)
>>> day2 = datetime.date(2006, 2, 2)
>>> t = Thing(when='a', join='b', like='c', drop='d', alter='e', having='f', where=day1, has_hyphen='h')
>>> t.save()
>>> print t.when
a

>>> u = Thing(when='h', join='i', like='j', drop='k', alter='l', having='m', where=day2)
>>> u.save()
>>> print u.when
h

>>> Thing.objects.order_by('when')
[<Thing: a>, <Thing: h>]
>>> v = Thing.objects.get(pk='a')
>>> print v.join
b
>>> print v.where
2005-01-01

>>> Thing.objects.dates('where', 'year')
[datetime.datetime(2005, 1, 1, 0, 0), datetime.datetime(2006, 1, 1, 0, 0)]

>>> Thing.objects.filter(where__month=1)
[<Thing: a>]
"""}
+48 −0
Original line number Diff line number Diff line
import datetime

from django.test import TestCase

from models import Thing

class ReservedNameTests(TestCase):
    def generate(self):
        day1 = datetime.date(2005, 1, 1)
        t = Thing.objects.create(when='a', join='b', like='c', drop='d',
            alter='e', having='f', where=day1, has_hyphen='h')
        day2 = datetime.date(2006, 2, 2)
        u = Thing.objects.create(when='h', join='i', like='j', drop='k',
            alter='l', having='m', where=day2)

    def test_simple(self):
        day1 = datetime.date(2005, 1, 1)
        t = Thing.objects.create(when='a', join='b', like='c', drop='d',
            alter='e', having='f', where=day1, has_hyphen='h')
        self.assertEqual(t.when, 'a')

        day2 = datetime.date(2006, 2, 2)
        u = Thing.objects.create(when='h', join='i', like='j', drop='k',
            alter='l', having='m', where=day2)
        self.assertEqual(u.when, 'h')

    def test_order_by(self):
        self.generate()
        things = [t.when for t in Thing.objects.order_by('when')]
        self.assertEqual(things, ['a', 'h'])

    def test_fields(self):
        self.generate()
        v = Thing.objects.get(pk='a')
        self.assertEqual(v.join, 'b')
        self.assertEqual(v.where, datetime.date(year=2005, month=1, day=1))

    def test_dates(self):
        self.generate()
        resp = Thing.objects.dates('where', 'year')
        self.assertEqual(list(resp), [
            datetime.datetime(2005, 1, 1, 0, 0),
            datetime.datetime(2006, 1, 1, 0, 0),
        ])

    def test_month_filter(self):
        self.generate()
        self.assertEqual(Thing.objects.filter(where__month=1)[0].when, 'a')