assertEquals($names, $node->getNode('names')); $this->assertEquals($values, $node->getNode('values')); $this->assertFalse($node->getAttribute('capture')); } public static function provideTests(): iterable { $tests = []; $names = new Nodes([new AssignContextVariable('foo', 1)], 1); $values = new Nodes([new ConstantExpression('foo', 1)], 1); $node = new SetNode(false, $names, $values, 1); $tests[] = [$node, <<env->getCharset()); EOF, new Environment(new ArrayLoader()), ]; $names = new Nodes([new AssignContextVariable('foo', 1)], 1); $values = new TextNode('foo', 1); $node = new SetNode(true, $names, $values, 1); $tests[] = [$node, <<env->getCharset()); EOF ]; $names = new Nodes([new AssignContextVariable('foo', 1)], 1); $values = new TextNode('', 1); $node = new SetNode(true, $names, $values, 1); $tests[] = [$node, <<env->getCharset()); EOF ]; $names = new Nodes([new AssignContextVariable('foo', 1), new AssignContextVariable('bar', 1)], 1); $values = new Nodes([new ConstantExpression('foo', 1), new ContextVariable('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; } }