1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Set Jinja2's keep_trailing_newline=True in template_from_string.

Without this setting, the newline idempotence of scalar strings changes depending on whether
or not they contain any Jinja2 template blocks.
This commit is contained in:
Jacob Leverich 2014-07-14 13:36:17 -07:00
parent 7c6175e780
commit 7a8eb0b670
3 changed files with 10 additions and 2 deletions

View file

@ -322,7 +322,7 @@ def template_from_string(basedir, data, vars, fail_on_undefined=False):
def my_finalize(thing):
return thing if thing is not None else ''
environment = jinja2.Environment(trim_blocks=True, undefined=StrictUndefined, extensions=_get_extensions(), finalize=my_finalize)
environment = jinja2.Environment(trim_blocks=True, keep_trailing_newline=True, undefined=StrictUndefined, extensions=_get_extensions(), finalize=my_finalize)
environment.filters.update(_get_filters())
environment.template_class = J2Template

View file

@ -63,4 +63,10 @@
assert:
that:
- "file_result.changed != True"
# VERIFY STRING TEMPLATE PRESERVES NEWLINE
- name: ensure template strings preserve newline
assert:
that:
- "newline_no_template_string == newline_template_string"

View file

@ -1 +1,3 @@
templated_var: templated_var_loaded
newline_template_string: "Hello {{ 'World' }}\n"
newline_no_template_string: "Hello World\n"