1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
--TEST--
"." notation with dynamic attributes
--TEMPLATE--
{{ obj.(method) }}
{{ array.(item) }}
{{ obj.("bar")("a", "b") }}
{{ obj.("bar")(param1: "a", param2: "b") }}
{{ obj.("bar")(param2: "b", param1: "a") }}
{{ obj.("bar")("a", param2: "b") }}
{{ obj.("bar")(...arguments) }}
{{ obj.(method) is defined ? 'ok' : 'ko' }}
{{ obj.(nonmethod) is defined ? 'ok' : 'ko' }}
--DATA--
return ['obj' => new Twig\Tests\TwigTestFoo(), 'method' => 'foo', 'array' => ['foo' => 'bar'], 'item' => 'foo', 'nonmethod' => 'xxx', 'arguments' => ['a', 'b']]
--EXPECT--
foo
bar
bar_a-b
bar_a-b
bar_a-b
bar_a-b
bar_a-b
ok
ko
|