diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html new file mode 100644 index 0000000000..cf47465b49 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html @@ -0,0 +1,60 @@ +<!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> |