slash-after-block.js 778 B

123456789101112131415161718192021222324
  1. test("slash token resolution in lexer", () => {
  2. expect(`{ blah.blah; }\n/foo/`).toEval();
  3. expect("``/foo/").not.toEval();
  4. expect("1/foo/").not.toEval();
  5. expect("1/foo").toEval();
  6. expect("{} /foo/").toEval();
  7. expect("{} /=/").toEval();
  8. expect("{} /=a/").toEval();
  9. expect("{} /* */ /=a/").toEval();
  10. expect("{} /* /a/ */ /=a/").toEval();
  11. expect("(function () {} / 1)").toEval();
  12. expect("(function () {} / 1)").toEval();
  13. expect("+a++ / 1").toEval();
  14. expect("+a-- / 1").toEval();
  15. expect("a.in / b").toEval();
  16. expect("a.instanceof / b").toEval();
  17. // FIXME: Even more 'reserved' words are valid however the cases below do still need to pass.
  18. //expect("a.void / b").toEval();
  19. expect("void / b/").toEval();
  20. });