Skip to content

Commit 3f7d993

Browse files
committed
fix: Django 4.0dev optimized text rendering. Adapt.
In django/django@7f6a41d, TextNode got its own implementation of the internal render_annotated method. We need to notice those calls in addition to render calls.
1 parent 27d4fc8 commit 3f7d993

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

django_coverage_plugin/plugin.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,12 @@ def find_executable_files(self, src_dir):
203203
def has_dynamic_source_filename(self):
204204
return True
205205

206+
# "render" is the public method, but "render_annotated" is an internal
207+
# method sometimes implemented directly on nodes.
208+
RENDER_METHODS = {"render", "render_annotated"}
209+
206210
def dynamic_source_filename(self, filename, frame):
207-
if frame.f_code.co_name != 'render':
211+
if frame.f_code.co_name not in self.RENDER_METHODS:
208212
return None
209213

210214
if 0:
@@ -219,7 +223,7 @@ def dynamic_source_filename(self, filename, frame):
219223
return None
220224

221225
def line_number_range(self, frame):
222-
assert frame.f_code.co_name == 'render'
226+
assert frame.f_code.co_name in self.RENDER_METHODS
223227
if 0:
224228
dump_frame(frame, label="line_number_range")
225229

0 commit comments

Comments
 (0)