Skip to content

Fix #70: don't measure comment contents in inheriting templates#116

Open
PetrDlouhy wants to merge 1 commit into
coveragepy:mainfrom
PetrDlouhy:fix-comment-in-extending-template
Open

Fix #70: don't measure comment contents in inheriting templates#116
PetrDlouhy wants to merge 1 commit into
coveragepy:mainfrom
PetrDlouhy:fix-comment-in-extending-template

Conversation

@PetrDlouhy

Copy link
Copy Markdown

Fixes the {% comment %} part of #70 — for comments in inheriting templates it is not a missing "ignore" feature, it is a measurement bug.

In a template that {% extends %} another, a {% comment %} opener placed outside of any {% block %} is skipped by the extends and not inblock continue before comment = True is set. Variable tokens inside the comment are then recorded as executable lines and reported as missing forever — they can never run. (Plain text inside the comment happens to be saved by the text branch's own extends-guard, which is why the symptom only shows when the comment contains {{ vars }} or tags.)

Minimal repro:

{% extends "base.html" %}
{% comment %}
    {{ this.line.is.reported.missing }}
{% endcomment %}
{% block content %}covered{% endblock %}

The fix sets the comment flag before the extends-skip, mirroring how {% endcomment %} is already handled earlier in the loop. Includes a regression test; the full test suite passes.

🤖 Generated with Claude Code

…ates

In a template that {% extends %} another, a {% comment %} opener
placed outside of any {% block %} was skipped by the
'extends and not inblock' continue before the comment flag was set.
Variable tokens inside the comment were then recorded as executable
lines, and reported as missing forever - they can never run.

Set the comment flag before the extends-skip, mirroring how
{% endcomment %} is already handled earlier in the loop.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant