Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add tests for open editor url to templates panel
  • Loading branch information
federicobond committed Dec 4, 2025
commit 04a30a097bfae69d411dfcdd242b1889690b7dcc
3 changes: 2 additions & 1 deletion debug_toolbar/panels/templates/panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from django.core import signing
from django.db.models.query import QuerySet, RawQuerySet
from django.template import RequestContext, Template
from django.template.base import UNKNOWN_SOURCE
from django.test.signals import template_rendered
from django.test.utils import instrumented_test_render
from django.urls import path
Expand Down Expand Up @@ -244,6 +245,6 @@ def get_stats(self):
stats = super().get_stats()
for template in stats.get("templates", []):
origin_name = template["template"]["origin_name"]
if origin_name:
if origin_name and origin_name != UNKNOWN_SOURCE:
template["template"]["editor_url"] = get_editor_url(origin_name)
return stats
14 changes: 13 additions & 1 deletion tests/panels/test_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import django
from django.contrib.auth.models import User
from django.template import Context, RequestContext, Template
from django.template import Context, Origin, RequestContext, Template
from django.test import override_settings
from django.utils.functional import SimpleLazyObject

Expand Down Expand Up @@ -153,6 +153,18 @@ def test_template_source(self):
response = self.client.get(url, data)
self.assertEqual(response.status_code, 200)

def test_get_stats(self):
response = self.panel.process_request(self.request)
Template("").render(Context({}))
Template("", origin=Origin("test.html")).render(Context({}))
self.panel.generate_stats(self.request, response)
stats = self.panel.get_stats()
self.assertNotIn("editor_url", stats["templates"][0]["template"])
self.assertEqual(
stats["templates"][1]["template"]["editor_url"],
"vscode://file/test.html:1",
)
Comment thread
federicobond marked this conversation as resolved.
Outdated


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