Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[1.2.X] Backport of r14547 from trunk.

Fixed a test case that was failing in Oracle due to conflation of null and empty strings.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14550 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 17bd39ae5a0337f8bcd535a5fb03d27aaf0ab0c4 1 parent 8c7df21
@ikelly ikelly authored
View
8 tests/regressiontests/fixtures_regress/models.py
@@ -28,13 +28,7 @@ class Stuff(models.Model):
owner = models.ForeignKey(User, null=True)
def __unicode__(self):
- # Oracle doesn't distinguish between None and the empty string.
- # This hack makes the test case pass using Oracle.
- name = self.name
- if (settings.DATABASES[DEFAULT_DB_ALIAS]['ENGINE'] == 'django.db.backends.oracle'
- and name == u''):
- name = None
- return unicode(name) + u' is owned by ' + unicode(self.owner)
+ return unicode(self.name) + u' is owned by ' + unicode(self.owner)
class Absolute(models.Model):
View
52 tests/regressiontests/fixtures_regress/tests.py
@@ -7,11 +7,12 @@
except ImportError:
from StringIO import StringIO
+from django.conf import settings
from django.core import management
from django.core.management.commands.dumpdata import sort_dependencies
from django.core.management.base import CommandError
from django.db.models import signals
-from django.db import transaction
+from django.db import DEFAULT_DB_ALIAS, transaction
from django.test import TestCase, TransactionTestCase
from models import Animal, Stuff
@@ -58,22 +59,39 @@ def test_duplicate_pk(self):
weight=2.2
)
animal.save()
- self.assertGreater(animal.id, 1)
-
- def test_pretty_print_xml(self):
- """
- Regression test for ticket #4558 -- pretty printing of XML fixtures
- doesn't affect parsing of None values.
- """
- # Load a pretty-printed XML fixture with Nulls.
- management.call_command(
- 'loaddata',
- 'pretty.xml',
- verbosity=0,
- commit=False
- )
- self.assertEqual(Stuff.objects.all()[0].name, None)
- self.assertEqual(Stuff.objects.all()[0].owner, None)
+ self.assertTrue(animal.id > 1)
+
+ if settings.DATABASES[DEFAULT_DB_ALIAS]['ENGINE'] != 'django.db.backends.oracle':
+ def test_pretty_print_xml(self):
+ """
+ Regression test for ticket #4558 -- pretty printing of XML fixtures
+ doesn't affect parsing of None values.
+ """
+ # Load a pretty-printed XML fixture with Nulls.
+ management.call_command(
+ 'loaddata',
+ 'pretty.xml',
+ verbosity=0,
+ commit=False
+ )
+ self.assertEqual(Stuff.objects.all()[0].name, None)
+ self.assertEqual(Stuff.objects.all()[0].owner, None)
+
+ if settings.DATABASES[DEFAULT_DB_ALIAS]['ENGINE'] == 'django.db.backends.oracle':
+ def test_pretty_print_xml_empty_strings(self):
+ """
+ Regression test for ticket #4558 -- pretty printing of XML fixtures
+ doesn't affect parsing of None values.
+ """
+ # Load a pretty-printed XML fixture with Nulls.
+ management.call_command(
+ 'loaddata',
+ 'pretty.xml',
+ verbosity=0,
+ commit=False
+ )
+ self.assertEqual(Stuff.objects.all()[0].name, u'')
+ self.assertEqual(Stuff.objects.all()[0].owner, None)
def test_absolute_path(self):
"""
Please sign in to comment.
Something went wrong with that request. Please try again.