external-import-map-errors.html (1561B)
1 <!DOCTYPE html> 2 <head> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script> 6 window.markupErrored = false; 7 window.markupLoaded = false; 8 </script> 9 <script src="/import-maps/resources/empty.js" type="importmap" 10 onload="window.markupLoaded = true;" onerror="window.markupErrored = true;"> 11 </script> 12 <script> 13 promise_test(async () => { 14 await new Promise((resolve, reject) => { 15 const element = document.createElement("script"); 16 element.onload = () => { reject("Got an unexpected load event"); }; 17 element.onerror = () => { resolve("Got an error event"); }; 18 element.src = "/import-maps/resources/empty.js"; 19 element.type = "importmap"; 20 document.head.appendChild(element); 21 }) 22 }, "Test that an external import map fires an error event"); 23 24 promise_test(async () => { 25 await new Promise((resolve, reject) => { 26 const element = document.createElement("script"); 27 element.type = "importmap"; 28 element.onload = () => { reject("Got an unexpected load event"); }; 29 element.onerror = () => { resolve("Got an error event"); }; 30 element.src = "/import-maps/resources/empty.js"; 31 document.head.appendChild(element); 32 }) 33 }, "Test that an external import map fires an error event, regardless of attribute order"); 34 35 promise_test(async () => { 36 assert_true(window.markupErrored, "error"); 37 assert_false(window.markupLoaded, "load"); 38 }, "Test that an external import map in markup fires an error event"); 39 </script> 40 </head>