aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/tests.py12
-rw-r--r--tests/urls.py1
-rw-r--r--tests/views.py12
3 files changed, 24 insertions, 1 deletions
diff --git a/tests/tests.py b/tests/tests.py
index 6e0cd9b..1571800 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -26,6 +26,7 @@ rf = RequestFactory()
class BaseTestCase(TestCase):
+
def setUp(self):
request = rf.get('/')
response = HttpResponse()
@@ -40,6 +41,7 @@ class BaseTestCase(TestCase):
class DebugToolbarTestCase(BaseTestCase):
+
urls = 'tests.urls'
def test_middleware(self):
@@ -176,8 +178,16 @@ class DebugToolbarTestCase(BaseTestCase):
self.assertContains(response, 'LÀTÍN') # template
self.assertContains(response, 'djDebug') # toolbar
+ def test_non_ascii_session(self):
+ with self.settings(DEBUG=True, INTERNAL_IPS=['127.0.0.1']):
+ response = self.client.get('/set_session/')
+ self.assertContains(response, 'où')
+ if not six.PY3:
+ self.assertContains(response, 'là')
+
class DebugToolbarNameFromObjectTest(BaseTestCase):
+
def test_func(self):
def x():
return 1
@@ -196,6 +206,7 @@ class DebugToolbarNameFromObjectTest(BaseTestCase):
class SQLPanelTestCase(BaseTestCase):
+
def test_recording(self):
panel = self.toolbar.get_panel(SQLDebugPanel)
self.assertEqual(len(panel._queries), 0)
@@ -258,6 +269,7 @@ class SQLPanelTestCase(BaseTestCase):
class TemplatePanelTestCase(BaseTestCase):
+
def test_queryset_hook(self):
template_panel = self.toolbar.get_panel(TemplateDebugPanel)
sql_panel = self.toolbar.get_panel(SQLDebugPanel)
diff --git a/tests/urls.py b/tests/urls.py
index 4fb51c9..2877e73 100644
--- a/tests/urls.py
+++ b/tests/urls.py
@@ -13,6 +13,7 @@ from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('tests.views',
+ url(r'^set_session/$', 'set_session'),
url(r'^resolving1/(.+)/(.+)/$', 'resolving_view', name='positional-resolving'),
url(r'^resolving2/(?P<arg1>.+)/(?P<arg2>.+)/$', 'resolving_view'),
url(r'^resolving3/(.+)/$', 'resolving_view', { 'arg2' : 'default' }),
diff --git a/tests/views.py b/tests/views.py
index f756023..a903bee 100644
--- a/tests/views.py
+++ b/tests/views.py
@@ -1,7 +1,10 @@
+# coding: utf-8
+
from __future__ import unicode_literals
from django.contrib.auth.models import User
from django.http import HttpResponse
+from django.utils import six
def execute_sql(request):
@@ -9,7 +12,7 @@ def execute_sql(request):
return HttpResponse()
-def regular_view(request, title='Test'):
+def regular_view(request, title):
content = '<html><head><title>%s</title><body></body></html>' % title
return HttpResponse(content)
@@ -17,3 +20,10 @@ def regular_view(request, title='Test'):
def resolving_view(request, arg1, arg2):
# see test_url_resolving in tests.py
return HttpResponse()
+
+
+def set_session(request):
+ request.session['où'] = 'où'
+ if not six.PY3:
+ request.session['là'.encode('utf-8')] = 'là'.encode('utf-8')
+ return HttpResponse('<html><head><title></title><body></body></html>')