diff --git a/src/rybak/jinja.py b/src/rybak/jinja.py index 6fdefba..bb02651 100644 --- a/src/rybak/jinja.py +++ b/src/rybak/jinja.py @@ -32,7 +32,7 @@ def __init__( else: if keep_trailing_newline is not None: self._env = environment.overlay() - self._env.keep_trailing_newline = self._keep_trailing_newline + self._env.keep_trailing_newline = keep_trailing_newline def render_str(self, template: str, data: TemplateData, loop_over: Optional[LoopOverFn] = None) -> str: env = self._env.overlay() diff --git a/tests/test_jinja.py b/tests/test_jinja.py new file mode 100644 index 0000000..1dc86e9 --- /dev/null +++ b/tests/test_jinja.py @@ -0,0 +1,34 @@ +import pytest +from jinja2 import Environment, FileSystemLoader +from rybak.jinja import JinjaAdapter + + +def test_jinja_init_keep_newlines(): + env = Environment(loader=FileSystemLoader('-path-')) + adapter = JinjaAdapter(env) + + assert adapter._env.keep_trailing_newline is True + + +def test_jinja_init_keep_newlines_false(): + env = Environment(loader=FileSystemLoader('-path-')) + adapter = JinjaAdapter(env, keep_trailing_newline=False) + + assert adapter._env.keep_trailing_newline is False + + +def test_jinja_loader(): + loader = FileSystemLoader('-path-') + adapter = JinjaAdapter(loader=loader) + + assert adapter._env.loader == loader + + +def test_jinja_env_loader_error(): + with pytest.raises(ValueError): + JinjaAdapter(environment=Environment(), loader=FileSystemLoader('-path-')) + + +def test_jinja_no_env_loader_error(): + with pytest.raises(ValueError): + JinjaAdapter()