1 #[test]
test_true_eql_true()2 fn test_true_eql_true() {
3     let text = " {% if true == true %} true {% else %} false {% endif %} ";
4     assert_template_result!("  true  ", text);
5 }
6 
7 #[test]
test_true_not_eql_true()8 fn test_true_not_eql_true() {
9     let text = " {% if true != true %} true {% else %} false {% endif %} ";
10     assert_template_result!("  false  ", text);
11 }
12 
13 #[test]
test_true_lq_true()14 fn test_true_lq_true() {
15     let text = " {% if 0 > 0 %} true {% else %} false {% endif %} ";
16     assert_template_result!("  false  ", text);
17 }
18 
19 #[test]
test_one_lq_zero()20 fn test_one_lq_zero() {
21     let text = " {% if 1 > 0 %} true {% else %} false {% endif %} ";
22     assert_template_result!("  true  ", text);
23 }
24 
25 #[test]
test_zero_lq_one()26 fn test_zero_lq_one() {
27     let text = " {% if 0 < 1 %} true {% else %} false {% endif %} ";
28     assert_template_result!("  true  ", text);
29 }
30 
31 #[test]
test_zero_lq_or_equal_one()32 fn test_zero_lq_or_equal_one() {
33     let text = " {% if 0 <= 0 %} true {% else %} false {% endif %} ";
34     assert_template_result!("  true  ", text);
35 }
36 
37 #[test]
test_zero_lq_or_equal_one_involving_nil()38 fn test_zero_lq_or_equal_one_involving_nil() {
39     let text = " {% if null <= 0 %} true {% else %} false {% endif %} ";
40     assert_template_result!("  false  ", text);
41 
42     let text = " {% if 0 <= null %} true {% else %} false {% endif %} ";
43     assert_template_result!("  false  ", text);
44 }
45 
46 #[test]
test_zero_lqq_or_equal_one()47 fn test_zero_lqq_or_equal_one() {
48     let text = " {% if 0 >= 0 %} true {% else %} false {% endif %} ";
49     assert_template_result!("  true  ", text);
50 }
51 
52 #[test]
test_strings()53 fn test_strings() {
54     let text = " {% if 'test' == 'test' %} true {% else %} false {% endif %} ";
55     assert_template_result!("  true  ", text);
56 }
57 
58 #[test]
test_strings_not_equal()59 fn test_strings_not_equal() {
60     let text = " {% if 'test' != 'test' %} true {% else %} false {% endif %} ";
61     assert_template_result!("  false  ", text);
62 }
63 
64 #[test]
test_var_strings_equal()65 fn test_var_strings_equal() {
66     let text = r#" {% if var == "hello there!" %} true {% else %} false {% endif %} "#;
67     assert_template_result!("  true  ", text, o!({"var": "hello there!"}));
68 }
69 
70 #[test]
test_var_strings_are_not_equal()71 fn test_var_strings_are_not_equal() {
72     let text = r#" {% if "hello there!" == var %} true {% else %} false {% endif %} "#;
73     assert_template_result!("  true  ", text, o!({"var": "hello there!"}));
74 }
75 
76 #[test]
test_var_and_long_string_are_equal()77 fn test_var_and_long_string_are_equal() {
78     let text = r#" {% if var == "hello there!" %} true {% else %} false {% endif %} "#;
79     assert_template_result!("  true  ", text, o!({"var": "hello there!"}));
80 }
81 
82 #[test]
test_var_and_long_string_are_equal_backwards()83 fn test_var_and_long_string_are_equal_backwards() {
84     let text = r#" {% if "hello there!" == var %} true {% else %} false {% endif %} "#;
85     assert_template_result!("  true  ", text, o!({"var": "hello there!"}));
86 }
87 
88 /*
89   # def test_is_nil
90   #  text = %| {% if var != nil %} true {% else %} false {% end %} |
91   #  @template.assigns = { "var": "hello there!"}
92   #  expected = %|  true  |
93   #  assert_equal expected, @template.parse(text)
94   # end
95 */
96 
97 #[test]
test_is_collection_empty()98 fn test_is_collection_empty() {
99     let text = " {% if array == empty %} true {% else %} false {% endif %} ";
100     assert_template_result!("  true  ", text, o!({"array": []}));
101 }
102 
103 #[test]
test_is_not_collection_empty()104 fn test_is_not_collection_empty() {
105     let text = " {% if array == empty %} true {% else %} false {% endif %} ";
106     assert_template_result!("  false  ", text, o!({"array": [1, 2, 3]}));
107 }
108 
109 #[test]
test_nil()110 fn test_nil() {
111     let text = " {% if var == nil %} true {% else %} false {% endif %} ";
112     assert_template_result!("  true  ", text, o!({ "var": nil }));
113 
114     let text = " {% if var == null %} true {% else %} false {% endif %} ";
115     assert_template_result!("  true  ", text, o!({ "var": nil }));
116 }
117 
118 #[test]
test_not_nil()119 fn test_not_nil() {
120     let text = " {% if var != nil %} true {% else %} false {% endif %} ";
121     assert_template_result!("  true  ", text, o!({"var": 1}));
122 
123     let text = " {% if var != null %} true {% else %} false {% endif %} ";
124     assert_template_result!("  true  ", text, o!({"var": 1}));
125 }
126