diff options
Diffstat (limited to 'vendor/twig/twig/test/Twig/Tests/Node/SetTest.php')
-rw-r--r-- | vendor/twig/twig/test/Twig/Tests/Node/SetTest.php | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/vendor/twig/twig/test/Twig/Tests/Node/SetTest.php b/vendor/twig/twig/test/Twig/Tests/Node/SetTest.php new file mode 100644 index 00000000..d64d671a --- /dev/null +++ b/vendor/twig/twig/test/Twig/Tests/Node/SetTest.php | |||
@@ -0,0 +1,81 @@ | |||
1 | <?php | ||
2 | |||
3 | /* | ||
4 | * This file is part of Twig. | ||
5 | * | ||
6 | * (c) Fabien Potencier | ||
7 | * | ||
8 | * For the full copyright and license information, please view the LICENSE | ||
9 | * file that was distributed with this source code. | ||
10 | */ | ||
11 | |||
12 | class Twig_Tests_Node_SetTest extends Twig_Test_NodeTestCase | ||
13 | { | ||
14 | /** | ||
15 | * @covers Twig_Node_Set::__construct | ||
16 | */ | ||
17 | public function testConstructor() | ||
18 | { | ||
19 | $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1)), array(), 1); | ||
20 | $values = new Twig_Node(array(new Twig_Node_Expression_Constant('foo', 1)), array(), 1); | ||
21 | $node = new Twig_Node_Set(false, $names, $values, 1); | ||
22 | |||
23 | $this->assertEquals($names, $node->getNode('names')); | ||
24 | $this->assertEquals($values, $node->getNode('values')); | ||
25 | $this->assertEquals(false, $node->getAttribute('capture')); | ||
26 | } | ||
27 | |||
28 | /** | ||
29 | * @covers Twig_Node_Set::compile | ||
30 | * @dataProvider getTests | ||
31 | */ | ||
32 | public function testCompile($node, $source, $environment = null) | ||
33 | { | ||
34 | parent::testCompile($node, $source, $environment); | ||
35 | } | ||
36 | |||
37 | public function getTests() | ||
38 | { | ||
39 | $tests = array(); | ||
40 | |||
41 | $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1)), array(), 1); | ||
42 | $values = new Twig_Node(array(new Twig_Node_Expression_Constant('foo', 1)), array(), 1); | ||
43 | $node = new Twig_Node_Set(false, $names, $values, 1); | ||
44 | $tests[] = array($node, <<<EOF | ||
45 | // line 1 | ||
46 | \$context["foo"] = "foo"; | ||
47 | EOF | ||
48 | ); | ||
49 | |||
50 | $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1)), array(), 1); | ||
51 | $values = new Twig_Node(array(new Twig_Node_Print(new Twig_Node_Expression_Constant('foo', 1), 1)), array(), 1); | ||
52 | $node = new Twig_Node_Set(true, $names, $values, 1); | ||
53 | $tests[] = array($node, <<<EOF | ||
54 | // line 1 | ||
55 | ob_start(); | ||
56 | echo "foo"; | ||
57 | \$context["foo"] = ('' === \$tmp = ob_get_clean()) ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset()); | ||
58 | EOF | ||
59 | ); | ||
60 | |||
61 | $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1)), array(), 1); | ||
62 | $values = new Twig_Node_Text('foo', 1); | ||
63 | $node = new Twig_Node_Set(true, $names, $values, 1); | ||
64 | $tests[] = array($node, <<<EOF | ||
65 | // line 1 | ||
66 | \$context["foo"] = ('' === \$tmp = "foo") ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset()); | ||
67 | EOF | ||
68 | ); | ||
69 | |||
70 | $names = new Twig_Node(array(new Twig_Node_Expression_AssignName('foo', 1), new Twig_Node_Expression_AssignName('bar', 1)), array(), 1); | ||
71 | $values = new Twig_Node(array(new Twig_Node_Expression_Constant('foo', 1), new Twig_Node_Expression_Name('bar', 1)), array(), 1); | ||
72 | $node = new Twig_Node_Set(false, $names, $values, 1); | ||
73 | $tests[] = array($node, <<<EOF | ||
74 | // line 1 | ||
75 | list(\$context["foo"], \$context["bar"]) = array("foo", {$this->getVariableGetter('bar')}); | ||
76 | EOF | ||
77 | ); | ||
78 | |||
79 | return $tests; | ||
80 | } | ||
81 | } | ||