diff --git a/src/djlint/formatter/compress.py b/src/djlint/formatter/compress.py index b872e34..68094c9 100644 --- a/src/djlint/formatter/compress.py +++ b/src/djlint/formatter/compress.py @@ -30,7 +30,7 @@ def compress_html(html: str, config: Config) -> str: # put attributes on one line html = re.sub( re.compile( - rf"(<(?:{config.indent_html_tags})\b)((?:\"[^\"]*\"|'[^']*'|{{{{(?:(?!}}}}).)*}}}}|{{%(?:(?!%}}).)*%}}|[^'\">{{}}])+)(/?>)", + rf"(<(?:{config.indent_html_tags}))\s((?:\"[^\"]*\"|'[^']*'|{{{{(?:(?!}}}}).)*}}}}|{{%(?:(?!%}}).)*%}}|[^'\">{{}}])+)(/?>)", flags=re.IGNORECASE | re.MULTILINE | re.VERBOSE, ), _flatten_attributes, diff --git a/tests/test_config.py b/tests/test_config.py index d72497f..2539017 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -13,10 +13,14 @@ for a single test, run:: """ # pylint: disable=C0116 +from typing import TextIO + from click.testing import CliRunner from src.djlint import main as djlint +from .conftest import reformat + def test_custom_tags(runner: CliRunner) -> None: result = runner.invoke(djlint, ["tests/config_custom_tags/html.html", "--check"]) @@ -34,7 +38,7 @@ def test_custom_tags(runner: CliRunner) -> None: assert result.exit_code == 1 -def test_custom_html(runner: CliRunner) -> None: +def test_custom_html(runner: CliRunner, tmp_file: TextIO) -> None: result = runner.invoke(djlint, ["tests/config_custom_html/html.html", "--check"]) print(result.output) assert ( @@ -49,6 +53,10 @@ def test_custom_html(runner: CliRunner) -> None: ) assert result.exit_code == 1 + # https://github.com/Riverside-Healthcare/djLint/issues/236 + output = reformat(tmp_file, runner, b"\n") + assert output.exit_code == 0 + def test_extension(runner: CliRunner) -> None: result = runner.invoke(djlint, ["tests/config_extension", "--check"])