summaryrefslogtreecommitdiff
path: root/tests/regressiontests
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2008-07-13 08:48:18 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2008-07-13 08:48:18 +0000
commit32b8c3e1c015902b72ef7caade5c35a10e80fb1a (patch)
treea632df6ed4c79527f2afb1329954b2d081fa1172 /tests/regressiontests
parent502e9a5ab48d33f4901fb0d022a3fb20c3959bdc (diff)
Fixed #7718 -- Added a naive implementation of sorted() for Python 2.3 compatibility, and modified test cases to import the function when required.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7914 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
-rw-r--r--tests/regressiontests/admin_scripts/management/commands/app_command.py5
-rw-r--r--tests/regressiontests/admin_scripts/management/commands/base_command.py5
-rw-r--r--tests/regressiontests/admin_scripts/management/commands/label_command.py5
-rw-r--r--tests/regressiontests/admin_scripts/management/commands/noargs_command.py5
-rw-r--r--tests/regressiontests/defaultfilters/tests.py6
-rw-r--r--tests/regressiontests/model_inheritance_regress/models.py6
-rw-r--r--tests/regressiontests/queries/models.py6
-rw-r--r--tests/regressiontests/utils/datastructures.py9
-rw-r--r--tests/regressiontests/utils/itercompat.py15
-rw-r--r--tests/regressiontests/utils/tests.py2
10 files changed, 63 insertions, 1 deletions
diff --git a/tests/regressiontests/admin_scripts/management/commands/app_command.py b/tests/regressiontests/admin_scripts/management/commands/app_command.py
index f72e912ac0..3d8c43755c 100644
--- a/tests/regressiontests/admin_scripts/management/commands/app_command.py
+++ b/tests/regressiontests/admin_scripts/management/commands/app_command.py
@@ -1,4 +1,9 @@
from django.core.management.base import AppCommand
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
class Command(AppCommand):
help = 'Test Application-based commands'
diff --git a/tests/regressiontests/admin_scripts/management/commands/base_command.py b/tests/regressiontests/admin_scripts/management/commands/base_command.py
index 438f7038ca..536f40409a 100644
--- a/tests/regressiontests/admin_scripts/management/commands/base_command.py
+++ b/tests/regressiontests/admin_scripts/management/commands/base_command.py
@@ -1,5 +1,10 @@
from django.core.management.base import BaseCommand
from optparse import make_option
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
class Command(BaseCommand):
option_list = BaseCommand.option_list + (
diff --git a/tests/regressiontests/admin_scripts/management/commands/label_command.py b/tests/regressiontests/admin_scripts/management/commands/label_command.py
index 2b735c8e60..e749209d9c 100644
--- a/tests/regressiontests/admin_scripts/management/commands/label_command.py
+++ b/tests/regressiontests/admin_scripts/management/commands/label_command.py
@@ -1,4 +1,9 @@
from django.core.management.base import LabelCommand
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
class Command(LabelCommand):
help = "Test Label-based commands"
diff --git a/tests/regressiontests/admin_scripts/management/commands/noargs_command.py b/tests/regressiontests/admin_scripts/management/commands/noargs_command.py
index 683eb7a62c..f0f418752a 100644
--- a/tests/regressiontests/admin_scripts/management/commands/noargs_command.py
+++ b/tests/regressiontests/admin_scripts/management/commands/noargs_command.py
@@ -1,4 +1,9 @@
from django.core.management.base import NoArgsCommand
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
class Command(NoArgsCommand):
help = "Test No-args commands"
diff --git a/tests/regressiontests/defaultfilters/tests.py b/tests/regressiontests/defaultfilters/tests.py
index b56c33a652..1b659a91f4 100644
--- a/tests/regressiontests/defaultfilters/tests.py
+++ b/tests/regressiontests/defaultfilters/tests.py
@@ -537,6 +537,12 @@ u'123'
from django.template.defaultfilters import *
import datetime
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+
if __name__ == '__main__':
import doctest
doctest.testmod()
diff --git a/tests/regressiontests/model_inheritance_regress/models.py b/tests/regressiontests/model_inheritance_regress/models.py
index 24d6186150..b78b493e15 100644
--- a/tests/regressiontests/model_inheritance_regress/models.py
+++ b/tests/regressiontests/model_inheritance_regress/models.py
@@ -6,6 +6,12 @@ import datetime
from django.db import models
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
diff --git a/tests/regressiontests/queries/models.py b/tests/regressiontests/queries/models.py
index fe378a57b2..65d0d6ec65 100644
--- a/tests/regressiontests/queries/models.py
+++ b/tests/regressiontests/queries/models.py
@@ -8,6 +8,12 @@ import pickle
from django.db import models
from django.db.models.query import Q
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+
class Tag(models.Model):
name = models.CharField(max_length=10)
parent = models.ForeignKey('self', blank=True, null=True,
diff --git a/tests/regressiontests/utils/datastructures.py b/tests/regressiontests/utils/datastructures.py
index 86e4112577..5d31d21318 100644
--- a/tests/regressiontests/utils/datastructures.py
+++ b/tests/regressiontests/utils/datastructures.py
@@ -48,4 +48,11 @@
['one', 'second-two']
>>> d.values() # Here the order of SortedDict values *is* what we are testing
['second-two', 'one']
-""" \ No newline at end of file
+"""
+
+# Python 2.3 doesn't have sorted()
+try:
+ sorted
+except NameError:
+ from django.utils.itercompat import sorted
+ \ No newline at end of file
diff --git a/tests/regressiontests/utils/itercompat.py b/tests/regressiontests/utils/itercompat.py
new file mode 100644
index 0000000000..ad79cffcd1
--- /dev/null
+++ b/tests/regressiontests/utils/itercompat.py
@@ -0,0 +1,15 @@
+"""
+# Tests of the utils itercompat library.
+
+>>> from django.utils.itercompat import sorted as compat_sorted
+
+# Check the replacement version of sorted
+>>> x = [5,1,4,2,3]
+>>> y = compat_sorted(x)
+>>> print y
+[1, 2, 3, 4, 5]
+
+>>> print x
+[5, 1, 4, 2, 3]
+
+""" \ No newline at end of file
diff --git a/tests/regressiontests/utils/tests.py b/tests/regressiontests/utils/tests.py
index 6fc645505b..cd4762e02f 100644
--- a/tests/regressiontests/utils/tests.py
+++ b/tests/regressiontests/utils/tests.py
@@ -8,12 +8,14 @@ from django.utils import html, checksums
import timesince
import datastructures
+import itercompat
from decorators import DecoratorFromMiddlewareTests
# Extra tests
__test__ = {
'timesince': timesince,
'datastructures': datastructures,
+ 'itercompat': itercompat,
}
class TestUtilsHtml(TestCase):