blob: 8c48bbb98b6d5758ebaabb3c0483ab5578101acd [file] [log] [blame]
<!DOCTYPE HTML><!-- webkit-test-runner [ jscOptions=--validateExceptionChecks=true ] -->
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description('Test module import with validateExceptionChecks.');
window.jsTestIsAsync = true;
var error;
</script>
<script src="../../../resources/js-test-post.js"></script>
<script>
(async function () {
debug(`Import should fail because path is not a file.`)
error = null;
try {
await import(`./`);
} catch (e) {
error = e;
}
// Depending on the port, the import may fail due to different rejections.
// Hence, we'll discount the rest of the error message in this comparison.
shouldBeEqualToString(`String(error).substr(0, 11)`, `TypeError: `);
debug(`\nImporting a module script should fail if the file is not found.`)
error = null;
try {
await import(`./resources/import-not-found.js`);
} catch (e) {
error = e;
}
shouldBeEqualToString(`String(error)`, `TypeError: Importing a module script failed.`);
debug(`\nImporting a module script should fail if it does not not a valid JavaScript MIME type.`);
error = null;
try {
await import(`data:text/html,Hello World`);
} catch (e) {
error = e;
}
shouldBeEqualToString(`String(error)`, `TypeError: 'text/html' is not a valid JavaScript MIME type.`);
debug(`\nImporting a simple module script should succeed.`);
error = null;
try {
await import(`./resources/module-inline-simple.js`);
} catch (e) {
error = e;
}
shouldBeNull(`error`);
finishJSTest();
}());
</script>
</body>
</html>