Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a configuration option to allow block tags to be excluded by regex #93

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

rebkwok
Copy link

@rebkwok rebkwok commented Feb 22, 2024

Thanks for this plugin, which did almost exactly what we needed, apart from one issue, which this PR is an attempt to address.

The issue we had was that our project is using slippers, which means we have component tags in our templates with start/end block tags that don't follow the usual django convention for the end tag ({% end<...> %}). Instead they look something like

{% #card %}
...
{% /card %}

This means that any component end tag on its own line gets marked as uncovered.

This PR adds a config option exclude_blocks which takes a list of regexes, similar to exclude_also in the main coverage config, and allow us to specify patterns to match and exclude the content of block tags. With the following pyproject.toml config, we can now exclude any block tags that start with "/" (ie slippers component end tags).

[tool.coverage.django_coverage_plugin]
template_extensions = "html"
exclude_blocks = [
    "\\/\\w+"
]

I didn't add a similar exclude option for text tags because there's additional complexity there since a text tag can span multiple lines (and I haven't seen issues that suggest it's a feature anyone needs yet)

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.

None yet

1 participant