Skip to content

Commit 4ff723d

Browse files
committed
improve test coverage of error handling
1 parent d09e1ae commit 4ff723d

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

test/unit/es6/Lexer.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,22 @@ test('template lexer', {
5858
assert.equal(tokens('SELECT `"', '`'), '`,_');
5959
assert.equal(tokens('SELECT ```', '`'), '`,_');
6060
assert.equal(tokens('SELECT `\\`', '`'), '`,_');
61+
},
62+
'replay error': function () {
63+
const lexer = Lexer.makeLexer();
64+
assert.equal(lexer('SELECT '), null);
65+
assert.throws(
66+
() => lexer(' # '),
67+
/^Error: Expected delimiter at " # "$/);
68+
// Providing more input throws the same error.
69+
assert.throws(
70+
() => lexer(' '),
71+
/^Error: Expected delimiter at " # "$/);
72+
},
73+
'unfinished escape squence': function () {
74+
const lexer = Lexer.makeLexer();
75+
assert.throws(
76+
() => lexer('SELECT "\\'),
77+
/^Error: Expected "\\\\" at "\\\\"$/);
6178
}
6279
});

0 commit comments

Comments
 (0)