summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoseph Kocherhans <joseph@jkocherhans.com>2010-02-24 15:54:03 +0000
committerJoseph Kocherhans <joseph@jkocherhans.com>2010-02-24 15:54:03 +0000
commit9f4bf525f887db32b7260909a0140d68910aa042 (patch)
treea26ffb6b2ab107469490cc0a0e790fb6b106482d /tests
parentae43f651f2bfee0da8dbad6c22eba85ba4b168f6 (diff)
Fixed #12546. Objects with a __len__ that returns 0 can now be serialized. Thanks, casobn for the report and Alex Gaynor for the patch and tests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12576 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/serializers_regress/models.py6
-rw-r--r--tests/regressiontests/serializers_regress/tests.py10
2 files changed, 11 insertions, 5 deletions
diff --git a/tests/regressiontests/serializers_regress/models.py b/tests/regressiontests/serializers_regress/models.py
index ccd850326d..bec0a98202 100644
--- a/tests/regressiontests/serializers_regress/models.py
+++ b/tests/regressiontests/serializers_regress/models.py
@@ -258,3 +258,9 @@ class InheritBaseModel(BaseModel):
class ExplicitInheritBaseModel(BaseModel):
parent = models.OneToOneField(BaseModel)
child_data = models.IntegerField()
+
+class LengthModel(models.Model):
+ data = models.IntegerField()
+
+ def __len__(self):
+ return self.data
diff --git a/tests/regressiontests/serializers_regress/tests.py b/tests/regressiontests/serializers_regress/tests.py
index 11b53a5277..84e90ff7e1 100644
--- a/tests/regressiontests/serializers_regress/tests.py
+++ b/tests/regressiontests/serializers_regress/tests.py
@@ -8,7 +8,9 @@ forward, backwards and self references.
"""
-import unittest, datetime
+import datetime
+import decimal
+import unittest
from cStringIO import StringIO
from django.utils.functional import curry
@@ -18,10 +20,6 @@ from django.core import management
from django.conf import settings
from models import *
-try:
- import decimal
-except ImportError:
- from django.utils import _decimal as decimal
# A set of functions that can be used to recreate
# test data objects of various kinds.
@@ -326,6 +324,8 @@ The end."""),
(data_obj, 1001, BigIntegerData, -9223372036854775808),
(data_obj, 1002, BigIntegerData, 0),
(data_obj, 1003, BigIntegerData, None),
+ (data_obj, 1004, LengthModel, 0),
+ (data_obj, 1005, LengthModel, 1),
]
# Because Oracle treats the empty string as NULL, Oracle is expected to fail