# File test/src/parser_test.rb, line 27 def assertGrammarError(code, expected, token_name, lexer, grammar, index=0, line=1, col=1+index) parser = lexer.nested(grammar) begin parser.parse(code) assert_fail("error should have happened") rescue ParserException => e assert_equal(index, e.index) msg = expected msg = "#{msg}, #{token_name}" << " at line #{line}, col #{col}." unless expected.include? 'at line' assert_equal(msg, e.message) end end