assertEquals($body, $node->getNode('body')); $this->assertEquals($arguments, $node->getNode('arguments')); $this->assertEquals('foo', $node->getAttribute('name')); } public function getTests() { $tests = []; $arguments = new Node([ 'foo' => new ConstantExpression(null, 1), 'bar' => new ConstantExpression('Foo', 1), ], [], 1); $body = new TextNode('foo', 1); $node = new MacroNode('foo', $body, $arguments, 1); $text[] = [$node, <<macros; \$context = \$this->env->mergeGlobals([ "foo" => \$__foo__, "bar" => \$__bar__, "varargs" => \$__varargs__, ]); \$blocks = []; return new Markup(implode('', iterator_to_array((function () use (\$context, \$macros, \$blocks) { yield "foo"; })() ?? new \EmptyIterator(), false)), \$this->env->getCharset()); } EOF , new Environment(new ArrayLoader()), ]; return $tests; } }