mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-27 15:11:23 -07:00
Do not strip new lines in native jinja (#46751)
* Do not strip new lines in native jinja * Add changelog/fragment
This commit is contained in:
parent
4d9504e775
commit
541255a2d8
5 changed files with 36 additions and 5 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- templar - Do not strip new lines in native jinja - https://github.com/ansible/ansible/issues/46743
|
|
@ -621,10 +621,7 @@ class Templar:
|
||||||
|
|
||||||
# For preserving the number of input newlines in the output (used
|
# For preserving the number of input newlines in the output (used
|
||||||
# later in this method)
|
# later in this method)
|
||||||
if not USE_JINJA2_NATIVE:
|
data_newlines = _count_newlines_from_end(data)
|
||||||
data_newlines = _count_newlines_from_end(data)
|
|
||||||
else:
|
|
||||||
data_newlines = None
|
|
||||||
|
|
||||||
if fail_on_undefined is None:
|
if fail_on_undefined is None:
|
||||||
fail_on_undefined = self._fail_on_undefined_errors
|
fail_on_undefined = self._fail_on_undefined_errors
|
||||||
|
@ -690,7 +687,7 @@ class Templar:
|
||||||
display.debug("failing because of a type error, template data is: %s" % to_native(data))
|
display.debug("failing because of a type error, template data is: %s" % to_native(data))
|
||||||
raise AnsibleError("Unexpected templating type error occurred on (%s): %s" % (to_native(data), to_native(te)))
|
raise AnsibleError("Unexpected templating type error occurred on (%s): %s" % (to_native(data), to_native(te)))
|
||||||
|
|
||||||
if USE_JINJA2_NATIVE:
|
if USE_JINJA2_NATIVE and not isinstance(res, string_types):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
if preserve_trailing_newlines:
|
if preserve_trailing_newlines:
|
||||||
|
|
|
@ -46,4 +46,5 @@
|
||||||
- import_tasks: test_dunder.yml
|
- import_tasks: test_dunder.yml
|
||||||
- import_tasks: test_types.yml
|
- import_tasks: test_types.yml
|
||||||
- import_tasks: test_none.yml
|
- import_tasks: test_none.yml
|
||||||
|
- import_tasks: test_template.yml
|
||||||
when: is_native
|
when: is_native
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
- block:
|
||||||
|
- name: Template file with newlines
|
||||||
|
template:
|
||||||
|
src: test_template_newlines.j2
|
||||||
|
dest: test_template_newlines.res
|
||||||
|
|
||||||
|
- name: Dump template file
|
||||||
|
stat:
|
||||||
|
path: test_template_newlines.j2
|
||||||
|
get_checksum: yes
|
||||||
|
register: template_stat
|
||||||
|
|
||||||
|
- name: Dump result file
|
||||||
|
stat:
|
||||||
|
path: test_template_newlines.res
|
||||||
|
get_checksum: yes
|
||||||
|
register: result_stat
|
||||||
|
|
||||||
|
- name: Check that number of newlines from original template are preserved
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- template_stat.stat.checksum == result_stat.stat.checksum
|
||||||
|
always:
|
||||||
|
- name: Clean up
|
||||||
|
file:
|
||||||
|
path: test_template_newlines.res
|
||||||
|
state: absent
|
|
@ -0,0 +1,4 @@
|
||||||
|
First line.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue