| <!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.message, "Uncaught SyntaxError: The requested module does not provide an export named 'default'"); |
| resolve(); |
| }, { once: true }); |
| }).then(() => new Promise(resolve => { |
| window.addEventListener("error", e => { |
| assert_equals(e.message, "Uncaught SyntaxError: The requested module does not provide an export named 'default'"); |
| 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> |