test_import_errorMessage.html (1757B)
1 <!DOCTYPE html> 2 <meta charset=utf-8> 3 <title>Test module import error message</title> 4 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 5 <script> 6 SimpleTest.waitForExplicitFinish(); 7 8 let count = 0; 9 10 window.onerror = function (event, src, lineno, colno, error) { 11 info("window.onerror: message: " + error.message); 12 info("window.onerror: src: " + src); 13 ok(error instanceof SyntaxError, "Should be a SyntaxError."); 14 15 if (src.match("no_indirect_export.mjs") || 16 src.match("import_no_export.mjs")) { 17 ok(error.message.match("doesn't provide an export named")); 18 } else if(src.match("export_ambiguous.mjs") || 19 src.match("import_ambiguous_export_star.mjs") || 20 src.match("import_ambiguous_export.mjs") || 21 src.match("import_ambiguous.mjs")) { 22 ok(error.message.match("contains ambiguous star export")); 23 } else if (src.match("import_circular_1.mjs")) { 24 ok(error.message.match("contains circular import")); 25 } else { 26 ok(false, "unknown src " + src); 27 } 28 count++; 29 }; 30 31 // eslint-disable-next-line no-unused-vars 32 function testLoaded() { 33 ok(count === 7, "Should have 7 SynaxErrors thrown."); 34 SimpleTest.finish(); 35 } 36 37 </script> 38 39 <script type="module" src="import_no_indirect_export.mjs"></script> 40 <script type="module" src="import_ambiguous_indirect_export.mjs"></script> 41 <script type="module" src="import_ambiguous_export_star.mjs"></script> 42 <script type="module" src="import_ambiguous_export.mjs"></script> 43 <script type="module" src="import_no_export.mjs"></script> 44 <script type="module" src="import_ambiguous.mjs"></script> 45 <script type="module" src="import_circular.mjs"></script> 46 <body onload='testLoaded()'></body>