assertEquals($names, $node->getNode('names')); $this->assertEquals($values, $node->getNode('values')); $this->assertFalse($node->getAttribute('capture')); } public function getTests() { $tests = []; $names = new Node([new AssignNameExpression('foo', 1)], [], 1); $values = new Node([new ConstantExpression('foo', 1)], [], 1); $node = new SetNode(false, $names, $values, 1); $tests[] = [$node, <<getEnvironment()->useYield()) { $tests[] = [$node, <<env->getCharset()); EOF , new Environment(new ArrayLoader()), ]; } else { $tests[] = [$node, <<<'EOF' // line 1 $context["foo"] = ('' === $tmp = \Twig\Extension\CoreExtension::captureOutput((function () use (&$context, $macros, $blocks) { yield "foo"; return; yield ''; })())) ? '' : new Markup($tmp, $this->env->getCharset()); EOF , new Environment(new ArrayLoader()), ]; } $names = new Node([new AssignNameExpression('foo', 1)], [], 1); $values = new TextNode('foo', 1); $node = new SetNode(true, $names, $values, 1); $tests[] = [$node, <<env->getCharset()); EOF ]; $names = new Node([new AssignNameExpression('foo', 1), new AssignNameExpression('bar', 1)], [], 1); $values = new Node([new ConstantExpression('foo', 1), new NameExpression('bar', 1)], [], 1); $node = new SetNode(false, $names, $values, 1); $tests[] = [$node, <<<'EOF' // line 1 [$context["foo"], $context["bar"]] = ["foo", ($context["bar"] ?? null)]; EOF ]; return $tests; } }