:issue:`1170`
- ``Undefined.__contains__`` (``in``) raises an ``UndefinedError``
instead of a ``TypeError``. :issue:`1198`
+- ``Undefined`` is iterable in an async environment. :issue:`1294`
Version 2.11.3
import pytest
+from jinja2 import ChainableUndefined
from jinja2 import DictLoader
from jinja2 import Environment
from jinja2 import Template
assert actual == "Bar"
run(_test())
+
+
+def test_chainable_undefined_aiter():
+ async def _test():
+ t = Template(
+ "{% for x in a['b']['c'] %}{{ x }}{% endfor %}",
+ enable_async=True,
+ undefined=ChainableUndefined,
+ )
+ rv = await t.render_async(a={})
+ assert rv == ""
+
+ run(_test())