"Loud" script nodes aren’t being closed, and so the @script_stack_level
isn't popped correctly, causing parse errors:
-if true
=if true
- 'A'
-else
B
gives "Syntax error on line 4: "else" is indented at wrong level:
expected 1, but was at 0."
Nesting an else or elsif at the wrong level will now raise a
Haml::Error. I've also added parser_test.rb to serve as the new home for
parser-specific tests; we'll eventually move some tests that are in
engine_test.rb there.
Resolves#535