From 17ff88104530c8b13077ae0d4aae82cb0f888876 Mon Sep 17 00:00:00 2001 From: Christopher Pickering Date: Mon, 26 Sep 2022 08:51:04 +0200 Subject: [PATCH] fix(linter): fixed false positive on H017. Added test closes #406 --- .github/workflows/test.yml | 8 ++++---- src/djlint/rules.yaml | 2 +- tests/test_linter/test_linter.py | 5 +++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a2f5d64..7fb42e4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,11 +2,11 @@ name: test on: push: branches: - - 'master' + - master pull_request: branches: - - 'master' - - 'dev' + - master + - dev jobs: test: @@ -47,7 +47,7 @@ jobs: matrix: os: [ubuntu-latest] python-version: [3.7, 3.8, 3.9, '3.10', 3.11-dev] - node: [ 12, 14, 16 ] + node: [12, 14, 16] fail-fast: true steps: diff --git a/src/djlint/rules.yaml b/src/djlint/rules.yaml index 82e16ce..892a3d4 100644 --- a/src/djlint/rules.yaml +++ b/src/djlint/rules.yaml @@ -128,7 +128,7 @@ message: Tag should be self closing. flags: re.DOTALL|re.I patterns: - - <(img|input|area|base|br|col[^(?:group)]|embed|hr|link|meta|param|source|track|wbr|command|keygen|menuitem|path)[^>]*?[^/]> + - <(img|input|area|base|br|col[^(?:group)]|embed|hr|link|meta|param|source|track|wbr|command|keygen|menuitem|path)(\b(\"[^\"]*\"|'[^']*'|{{[^}]*}}|{%[^%]*%}|{#[^#]*#}|[^'\">{}])*)(? - <(img|input|area|base|br|col|embed|hr|link|meta|param|source|track|wbr|command|keygen|menuitem|path)> - rule: name: D018 diff --git a/tests/test_linter/test_linter.py b/tests/test_linter/test_linter.py index 79b82d7..235ff74 100644 --- a/tests/test_linter/test_linter.py +++ b/tests/test_linter/test_linter.py @@ -337,6 +337,11 @@ def test_H017(runner: CliRunner, tmp_file: TextIO) -> None: assert result.exit_code == 0 assert "H017 1:" not in result.output + # test template tags inside html + write_to_file(tmp_file.name, b" }} />") + result = runner.invoke(djlint, [tmp_file.name]) + assert "H017" not in result.output + def test_DJ018(runner: CliRunner, tmp_file: TextIO) -> None: write_to_file(