diff options
| author | Jannis Leidel | 2012-04-07 03:10:10 +0200 |
|---|---|---|
| committer | Jannis Leidel | 2012-04-07 03:10:10 +0200 |
| commit | 963ec339d932d3888f79dea12d3d3a89cbd1f141 (patch) | |
| tree | d57c43f9625cbed2edeb7f583c06aabddb9a463b /tests/tests.py | |
| parent | 12fdf7ea605d3716d6c9127e22a63bcc345d55be (diff) | |
| download | django-debug-toolbar-963ec339d932d3888f79dea12d3d3a89cbd1f141.tar.bz2 | |
Added resolved URL name to the Request var panel. Closes #214.
Diffstat (limited to 'tests/tests.py')
| -rw-r--r-- | tests/tests.py | 56 |
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('<no view>' in content, content) class DebugToolbarNameFromObjectTest(BaseTestCase): def test_func(self): |
