| | 236 | |
| | 237 | def test_syntax_error_contains_line_and_column_pos(self): |
| | 238 | try: airspeed.Template('#if ( $hello )\n\n#elseif blah').merge({}) |
| | 239 | except airspeed.TemplateSyntaxError, e: |
| | 240 | self.assertEquals((3, 9), (e.line, e.column)) |
| | 241 | else: self.fail('expected error') |
| | 242 | try: airspeed.Template('#else blah').merge({}) |
| | 243 | except airspeed.TemplateSyntaxError, e: |
| | 244 | self.assertEquals((1, 1), (e.line, e.column)) |
| | 245 | else: self.fail('expected error') |
| | 246 | |
| | 247 | def test_get_position_strings_in_syntax_error(self): |
| | 248 | try: airspeed.Template('#else whatever').merge({}) |
| | 249 | except airspeed.TemplateSyntaxError, e: |
| | 250 | self.assertEquals(['#else whatever', |
| | 251 | '^'], e.get_position_strings()) |
| | 252 | else: self.fail('expected error') |
| | 253 | |
| | 254 | def test_get_position_strings_in_syntax_error_when_newline_after_error(self): |
| | 255 | try: airspeed.Template('#else whatever\n').merge({}) |
| | 256 | except airspeed.TemplateSyntaxError, e: |
| | 257 | self.assertEquals(['#else whatever', |
| | 258 | '^'], e.get_position_strings()) |
| | 259 | else: self.fail('expected error') |
| | 260 | |
| | 261 | def test_get_position_strings_in_syntax_error_when_newline_before_error(self): |
| | 262 | try: airspeed.Template('foobar\n #else whatever\n').merge({}) |
| | 263 | except airspeed.TemplateSyntaxError, e: |
| | 264 | self.assertEquals([' #else whatever', |
| | 265 | ' ^'], e.get_position_strings()) |
| | 266 | else: self.fail('expected error') |
| | 267 | |
| | 268 | |