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 }