import WebIDL def WebIDLTest(parser, harness): # Check that error messages put the '^' in the right place. threw = False input = "interface ?" try: parser.parse(input) parser.finish() except WebIDL.WebIDLError as e: threw = True lines = str(e).split("\n") harness.check(len(lines), 3, "Expected number of lines in error message") harness.check(lines[1], input, "Second line shows error") harness.check( lines[2], " " * (len(input) - 1) + "^", "Correct column pointer in error message", ) harness.ok(threw, "Should have thrown.")