| <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> |