diff --git a/src/djlint/rules.yaml b/src/djlint/rules.yaml index b4cf156..0c457ba 100644 --- a/src/djlint/rules.yaml +++ b/src/djlint/rules.yaml @@ -172,7 +172,7 @@ message: Do not use entity references. flags: re.I patterns: - - '&.{5};' + - '&(?!(lt|gt|amp|quot|nbsp|ensp|emsp|thinsp))[#0-9a-z]{,30};' - rule: name: H024 message: Omit type on scripts and styles. diff --git a/tests/test_linter.py b/tests/test_linter.py index 7f0bb61..0e7def0 100644 --- a/tests/test_linter.py +++ b/tests/test_linter.py @@ -343,6 +343,43 @@ def test_H023(runner: CliRunner, tmp_file: TextIO) -> None: assert result.exit_code == 1 assert "H023 1:" in result.output + write_to_file(tmp_file.name, b"á") + result = runner.invoke(djlint, [tmp_file.name]) + assert result.exit_code == 1 + assert "H023 1:" in result.output + + write_to_file(tmp_file.name, b">") + result = runner.invoke(djlint, [tmp_file.name]) + assert result.exit_code == 0 + + write_to_file(tmp_file.name, b'') + result = runner.invoke(djlint, [tmp_file.name]) + assert result.exit_code == 0 + + write_to_file(tmp_file.name, b'') + result = runner.invoke(djlint, [tmp_file.name]) + assert result.exit_code == 0 + + write_to_file(tmp_file.name, b'') + result = runner.invoke(djlint, [tmp_file.name]) + assert result.exit_code == 1 + assert "H023 1:" in result.output + + write_to_file(tmp_file.name, b"?") + result = runner.invoke(djlint, [tmp_file.name]) + assert result.exit_code == 1 + assert "H023 1:" in result.output + + write_to_file(tmp_file.name, b"?") + result = runner.invoke(djlint, [tmp_file.name]) + assert result.exit_code == 1 + assert "H023 1:" in result.output + + write_to_file(tmp_file.name, b'') + result = runner.invoke(djlint, [tmp_file.name]) + assert result.exit_code == 1 + assert "H023 1:" in result.output + def test_H024(runner: CliRunner, tmp_file: TextIO) -> None: write_to_file(tmp_file.name, b'