diff --git a/src/djlint/rules.yaml b/src/djlint/rules.yaml index 3b1fffd..bd9c779 100644 --- a/src/djlint/rules.yaml +++ b/src/djlint/rules.yaml @@ -26,7 +26,7 @@ message: Double quotes should be used in tags. flags: re.DOTALL patterns: - - "{%[ \t]*?extends[ \t]+?'[^']*'" + - "{%[ \t]*?(?:trans(?:late)?|with|extends|include|now)?[ \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 f249881..d2203ee 100644 --- a/tests/test_linter/test_linter.py +++ b/tests/test_linter/test_linter.py @@ -79,6 +79,31 @@ def test_T002(runner: CliRunner, tmp_file: TextIO) -> None: result = runner.invoke(djlint, [tmp_file.name, "--profile", "django"]) assert "T002" not in result.output + write_to_file(tmp_file.name, b"{% with a='this' %}") + result = runner.invoke(djlint, [tmp_file.name, "--profile", "django"]) + assert result.exit_code == 1 + assert "T002" in result.output + + write_to_file(tmp_file.name, b"{% trans 'this' %}") + result = runner.invoke(djlint, [tmp_file.name, "--profile", "django"]) + assert result.exit_code == 1 + assert "T002" in result.output + + write_to_file(tmp_file.name, b"{% translate 'this' %}") + result = runner.invoke(djlint, [tmp_file.name, "--profile", "django"]) + assert result.exit_code == 1 + assert "T002" in result.output + + write_to_file(tmp_file.name, b"{% include 'this' %}") + result = runner.invoke(djlint, [tmp_file.name, "--profile", "django"]) + assert result.exit_code == 1 + assert "T002" in result.output + + write_to_file(tmp_file.name, b"{% now 'Y-m-d G:i:s' %}") + result = runner.invoke(djlint, [tmp_file.name, "--profile", "django"]) + assert result.exit_code == 1 + assert "T002" in result.output + def test_T003(runner: CliRunner, tmp_file: TextIO) -> None: write_to_file(tmp_file.name, b"{% endblock %}")