- when: lookup('pipe', ansible_playbook_python ~ ' -c "import jinja2; print(jinja2.__version__)"') is version('2.7', '>=')
  block:
    - set_fact:
        names: '{{ things|map(attribute="name") }}'
      vars:
        things:
          - name: one
          - name: two
          - notname: three
          - name: four

    - assert:
        that:
          - '"%r"|format(undef) == "AnsibleUndefined"'
          # The existence of AnsibleUndefined in a templating result
          # prevents safe_eval from turning the value into a python object
          - names is string
          - '", AnsibleUndefined," in names'
