djLint/tests/test_handlebars/test_each.py
2023-01-23 11:09:31 -06:00

45 lines
1.1 KiB
Python

"""Djlint tests specific to Handlebars.js.
run::
pytest tests/test_handlebars.py --cov=src/djlint --cov-branch \
--cov-report xml:coverage.xml --cov-report term-missing
pytest tests/test_handlebars/test_each.py::test_each_with_pipe --cov=src/djlint --cov-branch \
--cov-report xml:coverage.xml --cov-report term-missing
"""
# pylint: disable=C0116
from typing import TextIO
from click.testing import CliRunner
from tests.conftest import reformat
def test_each(runner: CliRunner, tmp_file: TextIO) -> None:
output = reformat(
tmp_file,
runner,
b"""{{#each people}}{{print_person}} <p>and more long stuff</p>{{/each}}""",
)
print(output.text)
assert output.exit_code == 1
assert (
output.text
== r"""{{#each people }}
{{ print_person }}
<p>and more long stuff</p>
{{/each }}
"""
)
def test_each_with_pipe(runner: CliRunner, tmp_file: TextIO) -> None:
output = reformat(
tmp_file,
runner,
b"""{{#each (cprFindConfigObj "inventoryCategories") as |category c |}}\n""",
)
assert output.exit_code == 0