summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJustin Bronn <jbronn@gmail.com>2008-03-18 04:05:09 +0000
committerJustin Bronn <jbronn@gmail.com>2008-03-18 04:05:09 +0000
commitb0a895f9e891bb1fc653724691e6d85612de2708 (patch)
tree0030786cdbe5ad1aa82278756630ad3b5b157509 /tests
parent34df2c0da9a7c91b9bc9355b6d64c5005143703b (diff)
gis: Merged revisions 7181-7277 via svnmerge from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@7279 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/modeltests/manipulators/models.py8
-rw-r--r--tests/regressiontests/i18n/misc.py11
-rw-r--r--tests/regressiontests/requests/__init__.py3
-rw-r--r--tests/regressiontests/requests/models.py1
-rw-r--r--tests/regressiontests/requests/tests.py38
-rw-r--r--tests/regressiontests/utils/decorators.py13
-rw-r--r--tests/regressiontests/utils/tests.py1
-rw-r--r--tests/regressiontests/utils/urls.py7
-rw-r--r--tests/regressiontests/utils/views.py10
-rw-r--r--tests/urls.py4
10 files changed, 89 insertions, 7 deletions
diff --git a/tests/modeltests/manipulators/models.py b/tests/modeltests/manipulators/models.py
index 2ee81f62b3..c9b9848235 100644
--- a/tests/modeltests/manipulators/models.py
+++ b/tests/modeltests/manipulators/models.py
@@ -1,3 +1,4 @@
+# coding: utf-8
"""
27. Default manipulators
@@ -21,7 +22,7 @@ class Album(models.Model):
def __unicode__(self):
return self.name
-__test__ = {'API_TESTS':"""
+__test__ = {'API_TESTS':u"""
>>> from django.utils.datastructures import MultiValueDict
# Create a Musician object via the default AddManipulator.
@@ -88,4 +89,9 @@ True
<Album: Ultimate Ella>
>>> a2.release_date
datetime.date(2005, 2, 13)
+
+# Test isValidFloat Unicode coercion
+>>> from django.core.validators import isValidFloat, ValidationError
+>>> try: isValidFloat(u"รค", None)
+... except ValidationError: pass
"""}
diff --git a/tests/regressiontests/i18n/misc.py b/tests/regressiontests/i18n/misc.py
index 6ed8afaee3..f8f35ad4e4 100644
--- a/tests/regressiontests/i18n/misc.py
+++ b/tests/regressiontests/i18n/misc.py
@@ -87,11 +87,12 @@ source tree.
'es-ar'
"""
-# Python 2.3 returns slightly different results for completely bogus locales,
-# so we omit this test for that anything below 2.4. It's relatively harmless in
-# any cases (GIGO). This also means this won't be executed on Jython currently,
-# but life's like that sometimes.
-if sys.version_info >= (2, 4):
+# Python 2.3 and 2.4 return slightly different results for completely bogus
+# locales, so we omit this test for that anything below 2.4. It's relatively
+# harmless in any cases (GIGO). This also means this won't be executed on
+# Jython currently, but life's like that sometimes. (On those platforms,
+# passing in a truly bogus locale will get you the default locale back.)
+if sys.version_info >= (2, 5):
tests += """
This test assumes there won't be a Django translation to a US variation
of the Spanish language, a safe assumption. When the user sets it
diff --git a/tests/regressiontests/requests/__init__.py b/tests/regressiontests/requests/__init__.py
new file mode 100644
index 0000000000..3a328850c9
--- /dev/null
+++ b/tests/regressiontests/requests/__init__.py
@@ -0,0 +1,3 @@
+"""
+Tests for Django's various Request objects.
+"""
diff --git a/tests/regressiontests/requests/models.py b/tests/regressiontests/requests/models.py
new file mode 100644
index 0000000000..19f81d601a
--- /dev/null
+++ b/tests/regressiontests/requests/models.py
@@ -0,0 +1 @@
+# Need a models module for the test runner.
diff --git a/tests/regressiontests/requests/tests.py b/tests/regressiontests/requests/tests.py
new file mode 100644
index 0000000000..aaaef1d8b0
--- /dev/null
+++ b/tests/regressiontests/requests/tests.py
@@ -0,0 +1,38 @@
+"""
+>>> from django.http import HttpRequest
+>>> print repr(HttpRequest())
+<HttpRequest
+GET:{},
+POST:{},
+COOKIES:{},
+META:{}>
+
+>>> from django.core.handlers.wsgi import WSGIRequest
+>>> print repr(WSGIRequest({'PATH_INFO': 'bogus', 'REQUEST_METHOD': 'bogus'}))
+<WSGIRequest
+GET:<QueryDict: {}>,
+POST:<QueryDict: {}>,
+COOKIES:{},
+META:{...}>
+
+>>> from django.core.handlers.modpython import ModPythonRequest
+>>> class FakeModPythonRequest(ModPythonRequest):
+... def __init__(self, *args, **kwargs):
+... super(FakeModPythonRequest, self).__init__(*args, **kwargs)
+... self._get = self._post = self._meta = self._cookies = {}
+>>> class Dummy: pass
+...
+>>> req = Dummy()
+>>> req.uri = 'bogus'
+>>> print repr(FakeModPythonRequest(req))
+<ModPythonRequest
+path:bogus,
+GET:{},
+POST:{},
+COOKIES:{},
+META:{}>
+
+>>> from django.http import parse_cookie
+>>> parse_cookie('invalid:key=true')
+{}
+"""
diff --git a/tests/regressiontests/utils/decorators.py b/tests/regressiontests/utils/decorators.py
new file mode 100644
index 0000000000..c6ae243c98
--- /dev/null
+++ b/tests/regressiontests/utils/decorators.py
@@ -0,0 +1,13 @@
+from django.test import TestCase
+
+class DecoratorFromMiddlewareTests(TestCase):
+ """
+ Tests for view decorators created using
+ ``django.utils.decorators.decorator_from_middleware``.
+ """
+
+ def test_process_view_middleware(self):
+ """
+ Test a middleware that implements process_view.
+ """
+ self.client.get('/utils/xview/')
diff --git a/tests/regressiontests/utils/tests.py b/tests/regressiontests/utils/tests.py
index abcd7212d8..6fc645505b 100644
--- a/tests/regressiontests/utils/tests.py
+++ b/tests/regressiontests/utils/tests.py
@@ -8,6 +8,7 @@ from django.utils import html, checksums
import timesince
import datastructures
+from decorators import DecoratorFromMiddlewareTests
# Extra tests
__test__ = {
diff --git a/tests/regressiontests/utils/urls.py b/tests/regressiontests/utils/urls.py
new file mode 100644
index 0000000000..7b60d0884c
--- /dev/null
+++ b/tests/regressiontests/utils/urls.py
@@ -0,0 +1,7 @@
+from django.conf.urls.defaults import *
+
+import views
+
+urlpatterns = patterns('',
+ (r'^xview/$', views.xview),
+)
diff --git a/tests/regressiontests/utils/views.py b/tests/regressiontests/utils/views.py
new file mode 100644
index 0000000000..d22ae26641
--- /dev/null
+++ b/tests/regressiontests/utils/views.py
@@ -0,0 +1,10 @@
+from django.http import HttpResponse
+from django.utils.decorators import decorator_from_middleware
+from django.middleware.doc import XViewMiddleware
+
+
+xview_dec = decorator_from_middleware(XViewMiddleware)
+
+def xview(request):
+ return HttpResponse()
+xview = xview_dec(xview)
diff --git a/tests/urls.py b/tests/urls.py
index 174e06969b..41b4aaf6d3 100644
--- a/tests/urls.py
+++ b/tests/urls.py
@@ -11,10 +11,12 @@ urlpatterns = patterns('',
# test urlconf for {% url %} template tag
(r'^url_tag/', include('regressiontests.templates.urls')),
-
+
# django built-in views
(r'^views/', include('regressiontests.views.urls')),
# test urlconf for middleware tests
(r'^middleware/', include('regressiontests.middleware.urls')),
+
+ (r'^utils/', include('regressiontests.utils.urls')),
)