Skip to content

Commit f649059

Browse files
authored
Merge pull request #379 from sharwell/validate-errors
Fix failure to validate exception messages
2 parents 176521e + 7d8dca7 commit f649059

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

test/tool/TestParseTreeMatcher.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,17 @@ export class TestParseTreeMatcher {
6161

6262
@Test public testInvertedTags(): void {
6363
let m: ParseTreePatternMatcher = this.getPatternMatcher(ParseTreeMatcherX1Lexer, ParseTreeMatcherX1Parser);
64-
assert.throws(() => m.split(">expr<"), "tag delimiters out of order in pattern: >expr<");
64+
assert.throws(() => m.split(">expr<"), /^Error: tag delimiters out of order in pattern: >expr<$/);
6565
}
6666

6767
@Test public testUnclosedTag(): void {
6868
let m: ParseTreePatternMatcher = this.getPatternMatcher(ParseTreeMatcherX1Lexer, ParseTreeMatcherX1Parser);
69-
assert.throws(() => m.split("<expr hi mom"), "unterminated tag in pattern: <expr hi mom");
69+
assert.throws(() => m.split("<expr hi mom"), /^Error: unterminated tag in pattern: <expr hi mom$/);
7070
}
7171

7272
@Test public testExtraClose(): void {
7373
let m: ParseTreePatternMatcher = this.getPatternMatcher(ParseTreeMatcherX1Lexer, ParseTreeMatcherX1Parser);
74-
assert.throws(() => m.split("<expr> >"), "missing start tag in pattern: <expr> >");
74+
assert.throws(() => m.split("<expr> >"), /^Error: missing start tag in pattern: <expr> >$/);
7575
}
7676

7777
@Test public testTokenizingPattern(): void {

test/tool/TestXPath.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,48 +87,48 @@ export class TestXPath {
8787

8888
@Test public testWeirdChar(): void {
8989
let path: string = "&";
90-
let expected: string = "Invalid tokens or characters at index 0 in path '&'";
90+
let expected: RegExp = /^RangeError: Invalid tokens or characters at index 0 in path '&' -- $/;
9191

9292
this.testError(SAMPLE_PROGRAM, path, expected, (parser) => parser.prog(), TestXPathLexer, TestXPathParser);
9393
}
9494

9595
@Test public testWeirdChar2(): void {
9696
let path: string = "//w&e/";
97-
let expected: string = "Invalid tokens or characters at index 3 in path '//w&e/'";
97+
let expected: RegExp = /^RangeError: Invalid tokens or characters at index 3 in path '\/\/w&e\/' -- $/;
9898

9999
this.testError(SAMPLE_PROGRAM, path, expected, (parser) => parser.prog(), TestXPathLexer, TestXPathParser);
100100
}
101101

102102
@Test public testBadSyntax(): void {
103103
let path: string = "///";
104-
let expected: string = "/ at index 2 isn't a valid rule name";
104+
let expected: RegExp = /^Error: \/ at index 2 isn't a valid rule name$/;
105105

106106
this.testError(SAMPLE_PROGRAM, path, expected, (parser) => parser.prog(), TestXPathLexer, TestXPathParser);
107107
}
108108

109109
@Test public testMissingWordAtEnd(): void {
110110
let path: string = "//";
111-
let expected: string = "Missing path element at end of path";
111+
let expected: RegExp = /^Error: Missing path element at end of path$/;
112112

113113
this.testError(SAMPLE_PROGRAM, path, expected, (parser) => parser.prog(), TestXPathLexer, TestXPathParser);
114114
}
115115

116116
@Test public testBadTokenName(): void {
117117
let path: string = "//Ick";
118-
let expected: string = "Ick at index 2 isn't a valid token name";
118+
let expected: RegExp = /^Error: Ick at index 2 isn't a valid token name$/;
119119

120120
this.testError(SAMPLE_PROGRAM, path, expected, (parser) => parser.prog(), TestXPathLexer, TestXPathParser);
121121
}
122122

123123
@Test public testBadRuleName(): void {
124124
let path: string = "/prog/ick";
125-
let expected: string = "ick at index 6 isn't a valid rule name";
125+
let expected: RegExp = /^Error: ick at index 6 isn't a valid rule name$/;
126126

127127
this.testError(SAMPLE_PROGRAM, path, expected, (parser) => parser.prog(), TestXPathLexer, TestXPathParser);
128128
}
129129

130130
protected testError<TParser extends Parser>(
131-
input: string, path: string, expected: string,
131+
input: string, path: string, expected: RegExp,
132132
startRule: (parser: TParser) => ParseTree,
133133
lexerCtor: {new(stream: CharStream): Lexer},
134134
parserCtor: {new(stream: TokenStream): TParser}): void {

0 commit comments

Comments
 (0)