1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:38:11 +00:00

LibJS: Don't VERIFY that the token after 'import' is one of '.' and '('

Although those are the only valid options parse_primary_expression is
sometimes called when only an expression is valid which means it did not
check match_expression and might fail the now removed VERIFY.
This commit is contained in:
davidot 2021-12-29 12:15:29 +01:00 committed by Linus Groh
parent 56c425eec1
commit e179cf2540
2 changed files with 27 additions and 5 deletions

View file

@ -0,0 +1,18 @@
describe("parsing", () => {
test("can parse call import call", () => {
expect("import('a')").toEval();
expect("import('a', )").toEval();
expect("import('a', {options: true})").toEval();
});
test("does not crash on unexpected tokens after import", () => {
expect("f = import('a')").toEval();
expect("f= import").not.toEval();
expect("f= import;").not.toEval();
expect("f= import?").not.toEval();
expect("f= import'").not.toEval();
expect("f= import 'a'").not.toEval();
expect("f= import['a']").not.toEval();
});
});