diff --git a/src/djlint/rules.yaml b/src/djlint/rules.yaml index 21d7932..0b75f3e 100644 --- a/src/djlint/rules.yaml +++ b/src/djlint/rules.yaml @@ -25,7 +25,7 @@ message: Double quotes should be used in tags. flags: re.DOTALL patterns: - - '{%.?extends\s+?[^\"]\w+' + - "{%[ \t]*?extends[ \t]+?'[^']*'" - rule: name: T003 message: 'Endblock should have name. Ex: {% endblock body %}.' diff --git a/tests/test_linter/test_linter.py b/tests/test_linter/test_linter.py index 785388f..ef5f4cf 100644 --- a/tests/test_linter/test_linter.py +++ b/tests/test_linter/test_linter.py @@ -69,6 +69,11 @@ def test_T002(runner: CliRunner, tmp_file: TextIO) -> None: assert result.exit_code == 1 assert "T002 1:" in result.output + # allow variable names (unquoted) + write_to_file(tmp_file.name, b"{% extends this %}") + result = runner.invoke(djlint, [tmp_file.name, "--profile", "django"]) + assert "T002" not in result.output + def test_T003(runner: CliRunner, tmp_file: TextIO) -> None: write_to_file(tmp_file.name, b"{% endblock %}")