self.indent()
if node.with_context:
- self.writeline('include_context = template.new_context('
- 'context.parent, True, locals())')
- self.writeline('for name, context_blocks in context.'
- 'blocks.%s():' % dict_item_iter)
- self.indent()
- self.writeline('include_context.blocks.setdefault('
- 'name, [])[0:0] = context_blocks')
- self.outdent()
self.writeline('for event in template.root_render_func('
- 'include_context):')
+ 'template.new_context(context.parent, True, '
+ 'locals())):')
else:
self.writeline('for event in template.module._body_stream:')
)))
assert env.get_template("main").render() == "123"
- def test_included_block_override(self):
- env = Environment(loader=DictLoader(dict(
- main="{% extends 'base' %}{% block b %}1337{% endblock %}",
- base="{% include 'inc' %}",
- inc="{% block b %}42{% endblock %}"
- )))
- assert env.get_template("main").render() == "1337"
-
- def test_included_block_override_with_super(self):
- env = Environment(loader=DictLoader(dict(
- main="{% extends 'base' %}{% block b %}1337|{{ super() }}{% endblock %}",
- base="{% include 'inc' %}",
- inc="{% block b %}42{% endblock %}"
- )))
- assert env.get_template("main").render() == "1337|42"
-
def test_unoptimized_scopes(self):
t = test_env.from_string("""
{% macro outer(o) %}