aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/panels/test_request_vars.py36
-rw-r--r--tests/test_integration.py12
-rw-r--r--tests/tests.py1
-rw-r--r--tests/urls.py1
-rw-r--r--tests/views.py7
5 files changed, 37 insertions, 20 deletions
diff --git a/tests/panels/test_request_vars.py b/tests/panels/test_request_vars.py
new file mode 100644
index 0000000..dc3ba6f
--- /dev/null
+++ b/tests/panels/test_request_vars.py
@@ -0,0 +1,36 @@
+# coding: utf-8
+
+from __future__ import unicode_literals
+
+from django.utils import six
+
+from debug_toolbar.panels.request_vars import RequestVarsDebugPanel
+
+from ..base import BaseTestCase
+from ..models import NonAsciiRepr
+
+
+class RequestVarsDebugPanelTestCase(BaseTestCase):
+
+ def setUp(self):
+ super(RequestVarsDebugPanelTestCase, self).setUp()
+ self.panel = self.toolbar.get_panel(RequestVarsDebugPanel)
+
+ def test_non_ascii_session(self):
+ self.request.session = {'où': 'où'}
+ if not six.PY3:
+ self.request.session['là'.encode('utf-8')] = 'là'.encode('utf-8')
+ self.panel.process_request(self.request)
+ self.panel.process_response(self.request, self.response)
+ content = self.panel.content()
+ if six.PY3:
+ self.assertIn('où', content)
+ else:
+ self.assertIn('o\\xf9', content)
+ self.assertIn('l\\xc3\\xa0', content)
+
+ def test_object_with_non_ascii_repr_in_request_vars(self):
+ self.request.path = '/non_ascii_request/'
+ self.panel.process_request(self.request)
+ self.panel.process_response(self.request, self.response)
+ self.assertIn('nôt åscíì', self.panel.content())
diff --git a/tests/test_integration.py b/tests/test_integration.py
index 2a2d4da..4bb0d38 100644
--- a/tests/test_integration.py
+++ b/tests/test_integration.py
@@ -137,18 +137,6 @@ class DebugToolbarIntegrationTestCase(TestCase):
self.assertContains(response, 'LÀTÍN') # template
self.assertContains(response, 'djDebug') # toolbar
- def test_non_ascii_session(self):
- response = self.client.get('/set_session/')
- if six.PY3:
- self.assertContains(response, 'où')
- else:
- self.assertContains(response, 'o\\xf9')
- self.assertContains(response, 'l\\xc3\\xa0')
-
- def test_object_with_non_ascii_repr_in_request_vars(self):
- response = self.client.get('/non_ascii_request/')
- self.assertContains(response, 'nôt åscíì')
-
def test_xml_validation(self):
response = self.client.get('/regular/XML/')
ET.fromstring(response.content) # shouldn't raise ParseError
diff --git a/tests/tests.py b/tests/tests.py
index 1059902..e373d51 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -4,6 +4,7 @@ if django.VERSION[:2] < (1, 6): # unittest-style discovery isn't available
from .commands.test_debugsqlshell import * # noqa
from .panels.test_logger import * # noqa
from .panels.test_profiling import * # noqa
+ from .panels.test_request_vars import * # noqa
from .panels.test_sql import * # noqa
from .panels.test_template import * # noqa
from .test_integration import * # noqa
diff --git a/tests/urls.py b/tests/urls.py
index 854f0ed..977084b 100644
--- a/tests/urls.py
+++ b/tests/urls.py
@@ -11,7 +11,6 @@ from .models import NonAsciiRepr
admin.autodiscover()
urlpatterns = patterns('tests.views', # noqa
- 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 8bbc447..deaa4c0 100644
--- a/tests/views.py
+++ b/tests/views.py
@@ -26,10 +26,3 @@ def new_user(request, username='joe'):
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 render(request, 'basic.html')