Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!doctype html>
<html>
<head>
<title>html-script-module-errorHandling</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
iframe
{ display: none; }
</style>
</head>
<body>
<h1>html-script-module-errorHandling</h1>
<iframe id="iframe_parseError_Root" src="errorhandling-parseerror-root.html"></iframe>
<iframe id="iframe_parseError_Dependent" src="errorhandling-parseerror-dependent.html"></iframe>
<iframe id="iframe_parseError_DependentMultiple" src="errorhandling-parseerror-dependentmultiple.html"></iframe>
<script>
var tests = [
{ "id": "iframe_parseError_Root", "expected": "error" },
{ "id": "iframe_parseError_Dependent", "expected": "error" },
{ "id": "iframe_parseError_DependentMultiple", "expected": "error,error" },
];
tests.forEach(function (testObj) {
var testHandle = async_test("IFrame test: '" + testObj.id + "'");
var testTarget = document.getElementById(testObj.id);
testTarget.addEventListener("load", testHandle.step_func(function () {
assert_equals(testTarget.contentDocument._errorReported, testObj.expected, "Unexpected _errorReported value");
testHandle.done();
}));
});
var test_wrongMimetype_root = async_test("External root module with non-script mimetype");
var script_wrongMimetype_root = document.createElement("script");
script_wrongMimetype_root.type = "module";
script_wrongMimetype_root.src = "errorhandling-wrongMimetype.js?pipe=header(Content-Type,text/plain)";
script_wrongMimetype_root.addEventListener("error", test_wrongMimetype_root.step_func(function () {
test_wrongMimetype_root.done();
}));
script_wrongMimetype_root.addEventListener("load", test_wrongMimetype_root.step_func(function () {
assert_unreached("This script should not have loaded!");
}));
document.body.appendChild(script_wrongMimetype_root);
var test_wrongMimetype_import = async_test("Module with imported non-script mimetype");
var script_wrongMimetype_import = document.createElement("script");
script_wrongMimetype_import.type = "module";
script_wrongMimetype_import.src = "errorhandling-wrongMimetype-import.js";
script_wrongMimetype_import.addEventListener("error", test_wrongMimetype_import.step_func(function () {
test_wrongMimetype_import.done();
}));
script_wrongMimetype_import.addEventListener("load", test_wrongMimetype_import.step_func(function () {
assert_unreached("This script should not have loaded!");
}));
document.body.appendChild(script_wrongMimetype_import);
</script>
</body>
</html>