4 * This file is part of Twig.
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 class Twig_Tests_Node_SetTest extends Twig_Test_NodeTestCase
14 public function testConstructor()
16 $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1)), array(), 1);
17 $values = new Twig_Node(array(new Twig_Node_Expression_Constant('foo', 1)), array(), 1);
18 $node = new Twig_Node_Set(false, $names, $values, 1);
20 $this->assertEquals($names, $node->getNode('names'));
21 $this->assertEquals($values, $node->getNode('values'));
22 $this->assertFalse($node->getAttribute('capture'));
25 public function getTests()
29 $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1)), array(), 1);
30 $values = new Twig_Node(array(new Twig_Node_Expression_Constant('foo', 1)), array(), 1);
31 $node = new Twig_Node_Set(false, $names, $values, 1);
32 $tests[] = array($node, <<<EOF
34 \$context["foo"] = "foo";
38 $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1)), array(), 1);
39 $values = new Twig_Node(array(new Twig_Node_Print(new Twig_Node_Expression_Constant('foo', 1), 1)), array(), 1);
40 $node = new Twig_Node_Set(true, $names, $values, 1);
41 $tests[] = array($node, <<<EOF
45 \$context["foo"] = ('' === \$tmp = ob_get_clean()) ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset());
49 $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1)), array(), 1);
50 $values = new Twig_Node_Text('foo', 1);
51 $node = new Twig_Node_Set(true, $names, $values, 1);
52 $tests[] = array($node, <<<EOF
54 \$context["foo"] = ('' === \$tmp = "foo") ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset());
58 $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1), new Twig_Node_Expression_AssignName('bar', 1)), array(), 1);
59 $values = new Twig_Node(array(new Twig_Node_Expression_Constant('foo', 1), new Twig_Node_Expression_Name('bar', 1)), array(), 1);
60 $node = new Twig_Node_Set(false, $names, $values, 1);
61 $tests[] = array($node, <<<EOF
63 list(\$context["foo"], \$context["bar"]) = array("foo", {$this->getVariableGetter('bar')});