1 module tests.statements.if_;
2 
3 private
4 {
5     import tests.asserts;
6 }
7 
8 
9 // If / Endif
10 unittest
11 {
12     // Simple if
13     assertRender(`{% if true  %} test {% endif %}`, " test ");
14     assertRender(`{% if false %} test {% endif %}`, "");
15 
16     // Expression as condition
17     assertRender(`{% if false or 1 and 1 %} test {% endif %}`, " test ");
18     assertRender(`{% if false or 1 and 0 %} test {% endif %}`, "");
19 }
20 
21 // If / Else / Endif
22 unittest
23 {
24     assertRender(`{% if true  %} then {% else %} else {% endif %}`, " then ");
25     assertRender(`{% if false %} then {% else %} else {% endif %}`, " else ");
26 }
27 
28 // If / Elif / Else / Endif
29 unittest
30 {
31     assertRender(
32             `{% if false %}` ~
33                 `then` ~
34             `{% elif false %}` ~
35                 `elif 1` ~
36             `{% elif true %}` ~
37                 `elif 2` ~
38             `{% elif true %}` ~
39                 `elif 3` ~
40             `{% else %}` ~
41                 `else` ~
42             `{% endif %}`,
43             "elif 2"
44         );
45 
46     assertRender(
47             `{% if false %}` ~
48                 `then` ~
49             `{% elif false %}` ~
50                 `elif 1` ~
51             `{% elif false %}` ~
52                 `elif 2` ~
53             `{% elif false %}` ~
54                 `elif 3` ~
55             `{% else %}` ~
56                 `else` ~
57             `{% endif %}`,
58             "else"
59         );
60 }