| | 188 | def test_velocity_style_escaping(self): # example from Velocity docs |
| | 189 | template = airspeed.Template('''\ |
| | 190 | #set( $email = "foo" ) |
| | 191 | $email |
| | 192 | \\$email |
| | 193 | \\\\$email |
| | 194 | \\\\\\$email''') |
| | 195 | self.assertEquals('''\ |
| | 196 | foo |
| | 197 | $email |
| | 198 | \\foo |
| | 199 | \\$email''', template.merge({})) |
| | 200 | |
| | 201 | # def test_velocity_style_escaping_when_var_unset(self): # example from Velocity docs |
| | 202 | # template = airspeed.Template('''\ |
| | 203 | #$email |
| | 204 | #\$email |
| | 205 | #\\$email |
| | 206 | #\\\$email''') |
| | 207 | # self.assertEquals('''\ |
| | 208 | #$email |
| | 209 | #\$email |
| | 210 | #\\$email |
| | 211 | #\\\$email''', template.merge({})) |
| | 212 | |
| | 213 | def test_true_elseif_evaluated_when_if_is_false(self): |
| | 214 | template = airspeed.Template('#if ($value1) one #elseif ($value2) two #end') |
| | 215 | value1, value2 = False, True |
| | 216 | self.assertEquals(' two ', template.merge(locals())) |
| | 217 | |
| | 218 | def test_false_elseif_skipped_when_if_is_true(self): |
| | 219 | template = airspeed.Template('#if ($value1) one #elseif ($value2) two #end') |
| | 220 | value1, value2 = True, False |
| | 221 | self.assertEquals(' one ', template.merge(locals())) |
| | 222 | |
| | 223 | def test_first_true_elseif_evaluated_when_if_is_false(self): |
| | 224 | template = airspeed.Template('#if ($value1) one #elseif ($value2) two #elseif($value3) three #end') |
| | 225 | value1, value2, value3 = False, True, True |
| | 226 | self.assertEquals(' two ', template.merge(locals())) |
| | 227 | |
| | 228 | def test_illegal_to_have_elseif_after_else(self): |
| | 229 | template = airspeed.Template('#if ($value1) one #else two #elseif($value3) three #end') |
| | 230 | self.assertRaises(airspeed.TemplateSyntaxError, template.merge, {}) |
| | 231 | |
| | 232 | def test_else_evaluated_when_if_and_elseif_are_false(self): |
| | 233 | template = airspeed.Template('#if ($value1) one #elseif ($value2) two #else three #end') |
| | 234 | value1, value2 = False, False |
| | 235 | self.assertEquals(' three ', template.merge(locals())) |