Skip to content

Commit 7efb459

Browse files
committed
Add tests for open editor url to templates panel
1 parent 8dab973 commit 7efb459

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

debug_toolbar/panels/templates/panel.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from django.core import signing
88
from django.db.models.query import QuerySet, RawQuerySet
99
from django.template import RequestContext, Template
10+
from django.template.base import UNKNOWN_SOURCE
1011
from django.test.signals import template_rendered
1112
from django.test.utils import instrumented_test_render
1213
from django.urls import path
@@ -244,6 +245,6 @@ def get_stats(self):
244245
stats = super().get_stats()
245246
for template in stats.get("templates", []):
246247
origin_name = template["template"]["origin_name"]
247-
if origin_name:
248+
if origin_name and origin_name != UNKNOWN_SOURCE:
248249
template["template"]["editor_url"] = get_editor_url(origin_name)
249250
return stats

tests/panels/test_template.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import django
44
from django.contrib.auth.models import User
5-
from django.template import Context, RequestContext, Template
5+
from django.template import Context, Origin, RequestContext, Template
66
from django.test import override_settings
77
from django.utils.functional import SimpleLazyObject
88

@@ -153,6 +153,18 @@ def test_template_source(self):
153153
response = self.client.get(url, data)
154154
self.assertEqual(response.status_code, 200)
155155

156+
def test_get_stats(self):
157+
response = self.panel.process_request(self.request)
158+
Template("").render(Context({}))
159+
Template("", origin=Origin("test.html")).render(Context({}))
160+
self.panel.generate_stats(self.request, response)
161+
stats = self.panel.get_stats()
162+
self.assertNotIn("editor_url", stats["templates"][0]["template"])
163+
self.assertEqual(
164+
stats["templates"][1]["template"]["editor_url"],
165+
"vscode://file/test.html:1",
166+
)
167+
156168

157169
@override_settings(
158170
DEBUG=True, DEBUG_TOOLBAR_PANELS=["debug_toolbar.panels.templates.TemplatesPanel"]

0 commit comments

Comments
 (0)