| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <div id=log></div> | |
| <script> | |
| var log = function() {}, // see comment below | |
| p = function() {}, // see comment below | |
| fails = [null, "", "x", "x/x", "text/html", "text/json"], | |
| passes = ["text/javascript", "text/ecmascript", "text/ecmascript;blah", "text/javascript1.0"] | |
| // Ideally we'd also check whether the scripts in fact execute, but that would involve | |
| // timers and might get a bit racy without cross-browser support for the execute events. | |
| const get_url = (mime, outcome) => { | |
| let url = "resources/js.py" | |
| if (mime != null) { | |
| url += "?type=" + encodeURIComponent(mime) | |
| } | |
| if (outcome) { | |
| url += "&outcome=p" | |
| } | |
| return url | |
| } | |
| fails.forEach(function(mime) { | |
| async_test(function(t) { | |
| var script = document.createElement("script") | |
| script.onerror = t.step_func_done(function(){}) | |
| script.onload = t.unreached_func("Unexpected load event") | |
| script.src = get_url(mime) | |
| document.body.appendChild(script) | |
| }, "URL query: " + mime) | |
| }) | |
| passes.forEach(function(mime) { | |
| async_test(function(t) { | |
| var script = document.createElement("script") | |
| script.onerror = t.unreached_func("Unexpected error event") | |
| script.onload = t.step_func_done(function(){}) | |
| script.src = get_url(mime, true) | |
| document.body.appendChild(script) | |
| }, "URL query: " + mime) | |
| }) | |
| </script> |