4ab0e4cc71c970eb04e13d699eb7fcb0f5a1518e
[yaffs-website] / vendor / twig / twig / test / Twig / Tests / Node / IfTest.php
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_IfTest extends Twig_Test_NodeTestCase
13 {
14     public function testConstructor()
15     {
16         $t = new Twig_Node(array(
17             new Twig_Node_Expression_Constant(true, 1),
18             new Twig_Node_Print(new Twig_Node_Expression_Name('foo', 1), 1),
19         ), array(), 1);
20         $else = null;
21         $node = new Twig_Node_If($t, $else, 1);
22
23         $this->assertEquals($t, $node->getNode('tests'));
24         $this->assertFalse($node->hasNode('else'));
25
26         $else = new Twig_Node_Print(new Twig_Node_Expression_Name('bar', 1), 1);
27         $node = new Twig_Node_If($t, $else, 1);
28         $this->assertEquals($else, $node->getNode('else'));
29     }
30
31     public function getTests()
32     {
33         $tests = array();
34
35         $t = new Twig_Node(array(
36             new Twig_Node_Expression_Constant(true, 1),
37             new Twig_Node_Print(new Twig_Node_Expression_Name('foo', 1), 1),
38         ), array(), 1);
39         $else = null;
40         $node = new Twig_Node_If($t, $else, 1);
41
42         $tests[] = array($node, <<<EOF
43 // line 1
44 if (true) {
45     echo {$this->getVariableGetter('foo')};
46 }
47 EOF
48         );
49
50         $t = new Twig_Node(array(
51             new Twig_Node_Expression_Constant(true, 1),
52             new Twig_Node_Print(new Twig_Node_Expression_Name('foo', 1), 1),
53             new Twig_Node_Expression_Constant(false, 1),
54             new Twig_Node_Print(new Twig_Node_Expression_Name('bar', 1), 1),
55         ), array(), 1);
56         $else = null;
57         $node = new Twig_Node_If($t, $else, 1);
58
59         $tests[] = array($node, <<<EOF
60 // line 1
61 if (true) {
62     echo {$this->getVariableGetter('foo')};
63 } elseif (false) {
64     echo {$this->getVariableGetter('bar')};
65 }
66 EOF
67         );
68
69         $t = new Twig_Node(array(
70             new Twig_Node_Expression_Constant(true, 1),
71             new Twig_Node_Print(new Twig_Node_Expression_Name('foo', 1), 1),
72         ), array(), 1);
73         $else = new Twig_Node_Print(new Twig_Node_Expression_Name('bar', 1), 1);
74         $node = new Twig_Node_If($t, $else, 1);
75
76         $tests[] = array($node, <<<EOF
77 // line 1
78 if (true) {
79     echo {$this->getVariableGetter('foo')};
80 } else {
81     echo {$this->getVariableGetter('bar')};
82 }
83 EOF
84         );
85
86         return $tests;
87     }
88 }