From 689f3a0d0cab399717d1152da21929c980061e9b Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Fri, 11 Jul 2025 15:25:36 -0300 Subject: src/paca.mjs: Move error detection from tokenizeRegexStep => tokenizeRegex --- tests/paca.mjs | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'tests/paca.mjs') diff --git a/tests/paca.mjs b/tests/paca.mjs index 0724bf2..aa7333b 100644 --- a/tests/paca.mjs +++ b/tests/paca.mjs @@ -178,24 +178,6 @@ const test_tokenizeRegexStep = t => { } }); - t.testing("trailing escape errors", () => { - try { - t.assertEq(tokenizeRegexStep("\\")({ - out: [], - index: 0, - state: ConcatStep.ACCEPTING, - }, "\\"), null); - t.assertEq(true, false); - } catch (e) { - const message = "bad trailing escape character: "; - t.assertEq( - e.message.substring(0, message.length), - message, - ); - t.assertEq(e instanceof SyntaxError, true); - } - }); - t.testing("escape makes it enter escaping mode", () => { const stepFn = tokenizeRegexStep("\\a\\*"); const steps = [{ @@ -474,6 +456,28 @@ const test_tokenizeRegex = t => { ); } }); + + t.testing("trailing escape errors", () => { + try { + t.assertEq(tokenizeRegex(explode("\\")), null); + t.assertEq(true, false); + } catch (e) { + const message = "bad ending state: escaping"; + t.assertEq(e.message, message); + t.assertEq(e instanceof SyntaxError, true); + } + }); + + t.testing("trailing range errors", () => { + try { + t.assertEq(tokenizeRegex(explode("{")), null); + t.assertEq(true, false); + } catch (e) { + const message = "bad ending state: range"; + t.assertEq(e.message, message); + t.assertEq(e instanceof SyntaxError, true); + } + }); }; const test_shouldPush = t => { -- cgit v1.2.3