1
0
mirror of https://github.com/django/django.git synced 2025-07-05 10:19:20 +00:00

[soc2010/test-refactor] Updated field_defaults modeltest to unittest

git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2010/test-refactor@13379 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Paul McMillan 2010-06-22 02:58:45 +00:00
parent dc2fd96803
commit 6f851bca15
2 changed files with 40 additions and 38 deletions

View File

@ -19,41 +19,3 @@ class Article(models.Model):
def __unicode__(self):
return self.headline
__test__ = {'API_TESTS': u"""
>>> from datetime import datetime
# No articles are in the system yet.
>>> Article.objects.all()
[]
# Create an Article.
>>> a = Article(id=None)
# Grab the current datetime it should be very close to the default that just
# got saved as a.pub_date
>>> now = datetime.now()
# Save it into the database. You have to call save() explicitly.
>>> a.save()
# Now it has an ID. Note it's a long integer, as designated by the trailing "L".
>>> a.id
1L
# Access database columns via Python attributes.
>>> a.headline
u'Default headline'
# make sure the two dates are sufficiently close
>>> d = now - a.pub_date
>>> d.seconds < 5
True
# make sure that SafeString/SafeUnicode fields work
>>> from django.utils.safestring import SafeUnicode, SafeString
>>> a.headline = SafeUnicode(u'Iñtërnâtiônàlizætiøn1')
>>> a.save()
>>> a.headline = SafeString(u'Iñtërnâtiônàlizætiøn1'.encode('utf-8'))
>>> a.save()
"""}

View File

@ -0,0 +1,40 @@
# coding: utf-8
from datetime import datetime
from django.test import TestCase
from django.utils.safestring import SafeUnicode, SafeString
from models import Article
class FieldDefaultsTestCase(TestCase):
def test_article_defaults(self):
# No articles are in the system yet.
self.assertEqual(len(Article.objects.all()), 0)
# Create an Article.
a = Article(id=None)
# Grab the current datetime it should be very close to the
# default that just got saved as a.pub_date
now = datetime.now()
# Save it into the database. You have to call save() explicitly.
a.save()
# Now it has an ID. Note it's a long integer, as designated by
# the trailing "L".
self.assertEqual(a.id, 1L)
# Access database columns via Python attributes.
self.assertEqual(a.headline, u'Default headline')
# make sure the two dates are sufficiently close
#fixme, use the new unittest2 function
d = now - a.pub_date
self.assertTrue(d.seconds < 5)
# make sure that SafeString/SafeUnicode fields work
a.headline = SafeUnicode(u'Iñtërnâtiônàlizætiøn1')
a.save()
a.headline = SafeString(u'Iñtërnâtiônàlizætiøn1'.encode('utf-8'))
a.save()