summaryrefslogtreecommitdiff
path: root/tests/paca.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/paca.mjs')
-rw-r--r--tests/paca.mjs40
1 files changed, 22 insertions, 18 deletions
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 => {