|
@@ -1,5 +1,6 @@
|
|
|
test("slash token resolution in lexer", () => {
|
|
|
expect(`{ blah.blah; }\n/foo/`).toEval();
|
|
|
+ expect(`{ blah?.blah.blah; }\n/foo/`).toEval();
|
|
|
expect("``/foo/").not.toEval();
|
|
|
expect("1/foo/").not.toEval();
|
|
|
expect("1/foo").toEval();
|
|
@@ -16,24 +17,34 @@ test("slash token resolution in lexer", () => {
|
|
|
expect("+a++ / 1").toEval();
|
|
|
expect("+a-- / 1").toEval();
|
|
|
expect("a.in / b").toEval();
|
|
|
+ expect("a?.in.in / b").toEval();
|
|
|
expect("a.instanceof / b").toEval();
|
|
|
+ expect("a?.instanceof.instanceof / b").toEval();
|
|
|
expect("class A { #name; d = a.#name / b; }").toEval();
|
|
|
+ expect("class A { #name; d = a?.#name / b; }").toEval();
|
|
|
|
|
|
expect("async / b").toEval();
|
|
|
expect("a.delete / b").toEval();
|
|
|
+ expect("a?.delete.delete / b").toEval();
|
|
|
expect("delete / b/").toEval();
|
|
|
expect("a.in / b").toEval();
|
|
|
+ expect("a?.in.in / b").toEval();
|
|
|
expect("for (a in / b/) {}").toEval();
|
|
|
expect("a.instanceof / b").toEval();
|
|
|
+ expect("a?.instanceof.instanceof / b").toEval();
|
|
|
expect("a instanceof / b/").toEval();
|
|
|
+ expect("a?.instanceof instanceof / b/").toEval();
|
|
|
expect("new / b/").toEval();
|
|
|
expect("null / b").toEval();
|
|
|
expect("for (a of / b/) {}").toEval();
|
|
|
expect("a.return / b").toEval();
|
|
|
+ expect("a?.return.return / b").toEval();
|
|
|
expect("function foo() { return / b/ }").toEval();
|
|
|
expect("throw / b/").toEval();
|
|
|
expect("a.typeof / b").toEval();
|
|
|
+ expect("a?.typeof.typeof / b").toEval();
|
|
|
expect("a.void / b").toEval();
|
|
|
+ expect("a?.void.void / b").toEval();
|
|
|
expect("void / b/").toEval();
|
|
|
|
|
|
expect("await / b").toEval();
|
|
@@ -49,4 +60,8 @@ test("slash token resolution in lexer", () => {
|
|
|
expect("this / 1").toEval();
|
|
|
expect("this / 1 /").not.toEval();
|
|
|
expect("this / 1 / 1").toEval();
|
|
|
+
|
|
|
+ expect("this?.a / 1").toEval();
|
|
|
+ expect("this?.a / 1 /").not.toEval();
|
|
|
+ expect("this?.a / 1 / 1").toEval();
|
|
|
});
|