Bopytex/test/test_texenv.py

41 lines
1.1 KiB
Python
Raw Permalink Normal View History

2022-05-04 09:03:16 +00:00
from bopytex.jinja2_env.texenv import texenv
def test_variable_block():
base_template = r"\Var{a}"
jinja2_template = texenv.from_string(base_template)
output = jinja2_template.render(a=2)
assert output == "2"
def test_block_string():
base_template = r"\Block{set a = 2}\Var{a}"
jinja2_template = texenv.from_string(base_template)
output = jinja2_template.render()
assert output == "2"
def test_block_line_statement():
base_template = r"""%-set a = 2
\Var{a}"""
jinja2_template = texenv.from_string(base_template)
output = jinja2_template.render()
assert output == "2"
2022-07-28 07:39:51 +00:00
2022-05-04 09:03:16 +00:00
def test_block_line_statement_with_comment():
base_template = r"""%-set a = 2
%# comment
\Var{a}"""
jinja2_template = texenv.from_string(base_template)
output = jinja2_template.render()
assert output == "\n2"
2022-05-04 09:11:39 +00:00
2022-07-28 07:39:51 +00:00
2022-05-04 09:11:39 +00:00
def test_add_filter():
texenv.filters["count_caracters"] = lambda x: len(x)
base_template = r"""\Var{a} has \Var{a | count_caracters}"""
jinja2_template = texenv.from_string(base_template)
output = jinja2_template.render(a="coucou")
assert output == "coucou has 6"