1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 06:47:35 +00:00

LibJS: Handle empty named export

This is an export which looks like `export {} from "module"`, and
although it doesn't have any real export entries it should still add
"module" to the required modules to load.
This commit is contained in:
davidot 2022-08-29 22:12:25 +02:00 committed by Linus Groh
parent f75c51b097
commit 3b1c3e574f
10 changed files with 60 additions and 2 deletions

View file

@ -193,3 +193,25 @@ describe("loops", () => {
expectModulePassed("./loop-entry.mjs");
});
});
describe("failing modules cascade", () => {
let failingModuleError = "Left-hand side of postfix";
test("importing a file with a SyntaxError results in a SyntaxError", () => {
expectedModuleToThrowSyntaxError("./failing.mjs", failingModuleError);
});
test("importing a file without a syntax error which imports a file with a syntax error fails", () => {
expectedModuleToThrowSyntaxError("./importing-failing-module.mjs", failingModuleError);
});
test("importing a file which re exports a file with a syntax error fails", () => {
expectedModuleToThrowSyntaxError("./exporting-from-failing.mjs", failingModuleError);
});
test("importing a file re exports nothing from a file with a syntax error fails", () => {
expectedModuleToThrowSyntaxError(
"./exporting-nothing-from-failing.mjs",
failingModuleError
);
});
});