summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoulder Sprinters <boulder-sprinters@djangoproject.com>2007-03-20 16:21:17 +0000
committerBoulder Sprinters <boulder-sprinters@djangoproject.com>2007-03-20 16:21:17 +0000
commit815837c8af6cb917dabbb3638b2ccf182263866d (patch)
tree5ed1c4d8448c2977f8773404effe4360c1f9ae9d /tests
parent881c07cf2e212e04b2a8be47f444c6da56b5f382 (diff)
boulder-oracle-sprint: Merged to [4754]. 8 tests still fail, although
serializers_regress fails on Postgres as well so it may need a more general fix. git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@4755 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/defaultfilters/tests.py6
-rw-r--r--tests/regressiontests/serializers_regress/models.py19
-rw-r--r--tests/regressiontests/serializers_regress/tests.py20
3 files changed, 44 insertions, 1 deletions
diff --git a/tests/regressiontests/defaultfilters/tests.py b/tests/regressiontests/defaultfilters/tests.py
index c850806052..db3f7fab2a 100644
--- a/tests/regressiontests/defaultfilters/tests.py
+++ b/tests/regressiontests/defaultfilters/tests.py
@@ -133,6 +133,12 @@ u'\xcb'
>>> wordwrap('this is a long paragraph of text that really needs to be wrapped I\'m afraid', 14)
"this is a long\nparagraph of\ntext that\nreally needs\nto be wrapped\nI'm afraid"
+>>> wordwrap('this is a short paragraph of text.\n But this line should be indented',14)
+'this is a\nshort\nparagraph of\ntext.\n But this\nline should be\nindented'
+
+>>> wordwrap('this is a short paragraph of text.\n But this line should be indented',15)
+'this is a short\nparagraph of\ntext.\n But this line\nshould be\nindented'
+
>>> ljust('test', 10)
'test '
diff --git a/tests/regressiontests/serializers_regress/models.py b/tests/regressiontests/serializers_regress/models.py
index b558050022..d3415ac1b9 100644
--- a/tests/regressiontests/serializers_regress/models.py
+++ b/tests/regressiontests/serializers_regress/models.py
@@ -6,7 +6,8 @@ This class sets up a model for each model field type
"""
from django.db import models
-
+from django.contrib.contenttypes.models import ContentType
+
# The following classes are for testing basic data
# marshalling, including NULL values.
@@ -73,6 +74,22 @@ class USStateData(models.Model):
class XMLData(models.Model):
data = models.XMLField(null=True)
+class Tag(models.Model):
+ """A tag on an item."""
+ data = models.SlugField()
+ content_type = models.ForeignKey(ContentType)
+ object_id = models.PositiveIntegerField()
+
+ content_object = models.GenericForeignKey()
+
+ class Meta:
+ ordering = ["data"]
+
+class GenericData(models.Model):
+ data = models.CharField(maxlength=30)
+
+ tags = models.GenericRelation(Tag)
+
# The following test classes are all for validation
# of related objects; in particular, forward, backward,
# and self references.
diff --git a/tests/regressiontests/serializers_regress/tests.py b/tests/regressiontests/serializers_regress/tests.py
index 008ccecc2c..97b3fbacbe 100644
--- a/tests/regressiontests/serializers_regress/tests.py
+++ b/tests/regressiontests/serializers_regress/tests.py
@@ -24,6 +24,14 @@ def data_create(pk, klass, data):
instance.data = data
instance.save()
return instance
+
+def generic_create(pk, klass, data):
+ instance = klass(id=pk)
+ instance.data = data[0]
+ instance.save()
+ for tag in data[1:]:
+ instance.tags.create(data=tag)
+ return instance
def fk_create(pk, klass, data):
instance = klass(id=pk)
@@ -56,6 +64,11 @@ def data_compare(testcase, pk, klass, data):
testcase.assertEqual(data, instance.data,
"Objects with PK=%d not equal; expected '%s' (%s), got '%s' (%s)" % (pk,data, type(data), instance.data, type(instance.data)))
+def generic_compare(testcase, pk, klass, data):
+ instance = klass.objects.get(id=pk)
+ testcase.assertEqual(data[0], instance.data)
+ testcase.assertEqual(data[1:], [t.data for t in instance.tags.all()])
+
def fk_compare(testcase, pk, klass, data):
instance = klass.objects.get(id=pk)
testcase.assertEqual(data, instance.data_id)
@@ -76,6 +89,7 @@ def pk_compare(testcase, pk, klass, data):
# actually a pair of functions; one to create
# and one to compare objects of that type
data_obj = (data_create, data_compare)
+generic_obj = (generic_create, generic_compare)
fk_obj = (fk_create, fk_compare)
m2m_obj = (m2m_create, m2m_compare)
o2o_obj = (o2o_create, o2o_compare)
@@ -140,6 +154,9 @@ The end."""),
(data_obj, 190, XMLData, "<foo></foo>"),
(data_obj, 191, XMLData, None),
+ (generic_obj, 200, GenericData, ['Generic Object 1', 'tag1', 'tag2']),
+ (generic_obj, 201, GenericData, ['Generic Object 2', 'tag2', 'tag3']),
+
(data_obj, 300, Anchor, "Anchor 1"),
(data_obj, 301, Anchor, "Anchor 2"),
@@ -222,6 +239,9 @@ def serializerTest(format, self):
transaction.commit()
transaction.leave_transaction_management()
+ # Add the generic tagged objects to the object list
+ objects.extend(Tag.objects.all())
+
# Serialize the test database
serialized_data = serializers.serialize(format, objects, indent=2)