|  | <!DOCTYPE html> | 
|  | <head> | 
|  | <script src="/resources/testharness.js"></script> | 
|  | <script src="/resources/testharnessreport.js"></script> | 
|  | <script> | 
|  | window.markupErrored = false; | 
|  | window.markupLoaded = false; | 
|  | </script> | 
|  | <script src="/import-maps/resources/empty.js" type="importmap" | 
|  | onload="window.markupLoaded = true;" onerror="window.markupErrored = true;"> | 
|  | </script> | 
|  | <script> | 
|  | promise_test(async () => { | 
|  | await new Promise((resolve, reject) => { | 
|  | const element = document.createElement("script"); | 
|  | element.onload = () => { reject("Got an unexpected load event"); }; | 
|  | element.onerror = () => { resolve("Got an error event"); }; | 
|  | element.src = "/import-maps/resources/empty.js"; | 
|  | element.type = "importmap"; | 
|  | document.head.appendChild(element); | 
|  | }) | 
|  | }, "Test that an external import map fires an error event"); | 
|  |  | 
|  | promise_test(async () => { | 
|  | await new Promise((resolve, reject) => { | 
|  | const element = document.createElement("script"); | 
|  | element.type = "importmap"; | 
|  | element.onload = () => { reject("Got an unexpected load event"); }; | 
|  | element.onerror = () => { resolve("Got an error event"); }; | 
|  | element.src = "/import-maps/resources/empty.js"; | 
|  | document.head.appendChild(element); | 
|  | }) | 
|  | }, "Test that an external import map fires an error event, regardless of attribute order"); | 
|  |  | 
|  | promise_test(async () => { | 
|  | assert_true(window.markupErrored, "error"); | 
|  | assert_false(window.markupLoaded, "load"); | 
|  | }, "Test that an external import map in markup fires an error event"); | 
|  | </script> | 
|  | </head> |