diff options
| author | David Cramer | 2011-09-26 17:28:17 -0700 |
|---|---|---|
| committer | David Cramer | 2011-09-26 17:28:17 -0700 |
| commit | 49949387c863ecbbd043067c120b454d9377492a (patch) | |
| tree | deaeb4b454cda6c8d2128ce5aefcf59b2ec1d73b /tests/tests.py | |
| parent | 8278bb0f24d925288740c23a2315e9c5a27a3290 (diff) | |
| parent | 65394257a31226a4c2a34aa8a358f0651c5f90f8 (diff) | |
| download | django-debug-toolbar-49949387c863ecbbd043067c120b454d9377492a.tar.bz2 | |
Merge branch 'issue-duplicated-queries' of https://github.com/thinred/django-debug-toolbar into thinred-issue-duplicated-queries
Diffstat (limited to 'tests/tests.py')
| -rw-r--r-- | tests/tests.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/tests.py b/tests/tests.py index b03e167..154615a 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -1,6 +1,7 @@ from debug_toolbar.middleware import DebugToolbarMiddleware from debug_toolbar.panels.sql import SQLDebugPanel from debug_toolbar.panels.request_vars import RequestVarsDebugPanel +from debug_toolbar.panels.template import TemplateDebugPanel from debug_toolbar.toolbar.loader import DebugToolbar from debug_toolbar.utils import get_name_from_obj from debug_toolbar.utils.tracking import pre_dispatch, post_dispatch, callbacks @@ -9,6 +10,7 @@ from django.conf import settings from django.contrib.auth.models import User from django.http import HttpResponse from django.test import TestCase +from django.template import Template, Context from dingus import Dingus import thread @@ -202,6 +204,20 @@ class SQLPanelTestCase(BaseTestCase): self.assertTrue('duration' in query[1]) self.assertTrue('stacktrace' in query[1]) +class TemplatePanelTestCase(BaseTestCase): + def test_queryset_hook(self): + template_panel = self.toolbar.get_panel(TemplateDebugPanel) + sql_panel = self.toolbar.get_panel(SQLDebugPanel) + t = Template("No context variables here!") + c = Context({ 'queryset' : User.objects.all(), 'deep_queryset' : { 'queryset' : User.objects.all() } }) + t.render(c) + # ensure the query was NOT logged + self.assertEquals(len(sql_panel._queries), 0) + ctx = template_panel.templates[0]['context'][0] + ctx = eval(ctx) # convert back to Python + self.assertEquals(ctx['queryset'], '<<queryset of auth.User>>') + self.assertEquals(ctx['deep_queryset'], '<<triggers database query>>') + def module_func(*args, **kwargs): """Used by dispatch tests""" return 'blah' |
