Files
Twig/tests/Fixtures/expressions/spread_mapping_operator.test
2024-06-22 19:36:24 +02:00

38 lines
1.1 KiB
Plaintext

--TEST--
Twig supports the spread operator on mappings
--TEMPLATE--
{% for key, value in { firstName: 'Ryan', lastName: 'Weaver', favoriteFood: 'popcorn', ...{favoriteFood: 'pizza', sport: 'running'} } %}
{{ key }}: {{ value }}
{% endfor %}
{% for key, value in { firstName: 'Ryan', ...morePersonalDetails} %}
{{ key }}: {{ value }}
{% endfor %}
{% for key, value in { firstName: 'Ryan', ...iterablePersonalDetails} %}
{{ key }}: {{ value }}
{% endfor %}
{# multiple spreads #}
{% for key, value in { firstName: 'Ryan', ...iterablePersonalDetails, lastName: 'Weaver', ...morePersonalDetails} %}
{{ key }}: {{ value }}
{% endfor %}
--DATA--
return ['morePersonalDetails' => ['favoriteColor' => 'orange'], 'iterablePersonalDetails' => new \ArrayObject(['favoriteShoes' => 'barefoot'])];
--EXPECT--
firstName: Ryan
lastName: Weaver
favoriteFood: pizza
sport: running
firstName: Ryan
favoriteColor: orange
firstName: Ryan
favoriteShoes: barefoot
firstName: Ryan
favoriteShoes: barefoot
lastName: Weaver
favoriteColor: orange