aboutsummaryrefslogtreecommitdiffstats
path: root/tests/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tests.py')
-rw-r--r--tests/tests.py56
1 files changed, 34 insertions, 22 deletions
diff --git a/tests/tests.py b/tests/tests.py
index fcebb50..7d6436e 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -11,6 +11,7 @@ from django.contrib.auth.models import User
from django.http import HttpResponse
from django.test import TestCase
from django.template import Template, Context
+from django import VERSION
from dingus import Dingus
import thread
@@ -158,31 +159,42 @@ class DebugToolbarTestCase(BaseTestCase):
middleware.process_request(request)
self.assertFalse(isinstance(request.urlconf, basestring))
- def test_with_process_view(self):
- request = self.request
- response = self.response
-
- def _test_view(request):
- return HttpResponse('')
-
+ def _resolve_stats(self, path):
+ # takes stats from RequestVars panel
+ self.request.path = path
with Settings(DEBUG=True):
panel = self.toolbar.get_panel(RequestVarsDebugPanel)
- panel.process_request(request)
- panel.process_view(request, _test_view, [], {})
- panel.process_response(request, response)
- content = panel.content()
- self.assertTrue('tests.tests._test_view' in content, content)
+ panel.process_request(self.request)
+ panel.process_response(self.request, self.response)
+ return self.toolbar.stats['requestvars']
+
+ def test_url_resolving_positional(self):
+ stats = self._resolve_stats('/resolving1/a/b/')
+ if tuple(VERSION[:2]) >= (1, 3):
+ self.assertEquals(stats['view_urlname'], 'positional-resolving') # Django >= 1.3
+ else:
+ self.assertEquals(stats['view_urlname'], '<unavailable>') # Django < 1.3
+ self.assertEquals(stats['view_func'], 'tests.views.resolving_view')
+ self.assertEquals(stats['view_args'], ('a', 'b'))
+ self.assertEquals(stats['view_kwargs'], {})
+
+ def test_url_resolving_named(self):
+ stats = self._resolve_stats('/resolving2/a/b/')
+ self.assertEquals(stats['view_args'], ())
+ self.assertEquals(stats['view_kwargs'], {'arg1': 'a', 'arg2': 'b'})
+
+ def test_url_resolving_mixed(self):
+ stats = self._resolve_stats('/resolving3/a/')
+ self.assertEquals(stats['view_args'], ('a',))
+ self.assertEquals(stats['view_kwargs'], {'arg2': 'default'})
+
+ def test_url_resolving_bad(self):
+ stats = self._resolve_stats('/non-existing-url/')
+ self.assertEquals(stats['view_urlname'], 'None')
+ self.assertEquals(stats['view_args'], 'None')
+ self.assertEquals(stats['view_kwargs'], 'None')
+ self.assertEquals(stats['view_func'], '<no view>')
- def test_without_process_view(self):
- request = self.request
- response = self.response
-
- with Settings(DEBUG=True):
- panel = self.toolbar.get_panel(RequestVarsDebugPanel)
- panel.process_request(request)
- panel.process_response(request, response)
- content = panel.content()
- self.assertTrue('&lt;no view&gt;' in content, content)
class DebugToolbarNameFromObjectTest(BaseTestCase):
def test_func(self):