diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html new file mode 100644 index 0000000000..080b170233 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<title>Handling of instantiation errors, 8</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<!-- The below module tree should fail to instantiate, since it references undefined identifier. --> +<script type="module" src="instantiation-error-1.js"></script> +<script> +setup({allow_uncaught_exception: true}); + +promise_test(t => { + return new Promise(resolve => { + window.addEventListener("error", e => { + assert_equals(e.error.constructor, SyntaxError); + resolve(); + }, { once: true }); + }).then(() => new Promise(resolve => { + window.addEventListener("error", e => { + assert_equals(e.error.constructor, SyntaxError); + resolve(); + }, { once: true }); + // Load another module tree w/ previously instantiate-failed tree as its sub-tree. + document.head.appendChild(Object.assign( + document.createElement('script'), + { type: 'module', innerText: 'import "./instantiation-error-1.js"'})); + })); +}, "Instantiate attempt on a tree w/ previously instantiate-failed tree as a sub-tree shouldn't crash."); +</script> |