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
|
||||
# later in this method)
|
||||
if not USE_JINJA2_NATIVE:
|
||||
data_newlines = _count_newlines_from_end(data)
|
||||
else:
|
||||
data_newlines = None
|
||||
data_newlines = _count_newlines_from_end(data)
|
||||
|
||||
if fail_on_undefined is None:
|
||||
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))
|
||||
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
|
||||
|
||||
if preserve_trailing_newlines:
|
||||
|
|
|
@ -46,4 +46,5 @@
|
|||
- import_tasks: test_dunder.yml
|
||||
- import_tasks: test_types.yml
|
||||
- import_tasks: test_none.yml
|
||||
- import_tasks: test_template.yml
|
||||
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…
Reference in a new issue