--TEST--
"block" function recursively called in a parent template
--TEMPLATE--
{% extends "ordered_menu.twig" %}
{% block label %}"{{ parent() }}"{% endblock %}
{% block list %}{% set class = 'b' %}{{ parent() }}{% endblock %}
--TEMPLATE(ordered_menu.twig)--
{% extends "menu.twig" %}
{% block list %}{% set class = class|default('a') %}
{{ block('children') }}
{% endblock %}
--TEMPLATE(menu.twig)--
{% extends "base.twig" %}
{% block list %}{% endblock %}
{% block children %}{% set currentItem = item %}{% for item in currentItem %}{{ block('item') }}{% endfor %}{% set item = currentItem %}{% endblock %}
{% block item %}{% if item is not iterable %}{{ block('label') }}{% else %}{{ block('list') }}{% endif %}{% endblock %}
{% block label %}{{ item }}{% endblock %}
--TEMPLATE(base.twig)--
{{ block('list') }}
--DATA--
return array('item' => array('1', '2', array('3.1', array('3.2.1', '3.2.2'), '3.4')))
--EXPECT--
- "1"
- "2"
- "3.1"
- "3.2.1"
- "3.2.2"
- "3.4"