[stable-2.19] ternary: evaluate values lazily (#85752) (#85753)

Fixes #85743
(cherry picked from commit 6976e13075)
pull/85788/head
Martin Krizek 3 months ago committed by GitHub
parent f2a4eb74ec
commit 9aea625f63
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -0,0 +1,2 @@
bugfixes:
- "``ternary`` filter - evaluate values lazily (https://github.com/ansible/ansible/issues/85743)"

@ -221,6 +221,7 @@ def regex_search(value, regex, *args, **kwargs):
return items return items
@accept_args_markers
def ternary(value, true_val, false_val, none_val=None): def ternary(value, true_val, false_val, none_val=None):
""" value ? true_val : false_val """ """ value ? true_val : false_val """
if value is None and none_val is not None: if value is None and none_val is not None:

@ -430,6 +430,13 @@
- '123|ternary("seven", "eight") == "seven"' - '123|ternary("seven", "eight") == "seven"'
- '"haha"|ternary("seven", "eight") == "seven"' - '"haha"|ternary("seven", "eight") == "seven"'
- name: Verify ternary does not evaluate unused values
assert:
that:
- (false | ternary(undefined_variable, 'seven')) == (false | ternary(d.no_such_key, 'seven'))
vars:
d: {}
- name: Verify regex_escape raises on posix_extended (failure expected) - name: Verify regex_escape raises on posix_extended (failure expected)
set_fact: set_fact:
foo: '{{"]]^"|regex_escape(re_type="posix_extended")}}' foo: '{{"]]^"|regex_escape(re_type="posix_extended")}}'

Loading…
Cancel
Save