<body>
<p>This test passes if the script does not load.</p>
<pre></pre>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function done(msg) {
    document.querySelector("pre").innerHTML = msg;
    if (window.testRunner)
        testRunner.notifyDone();
}

var script = document.createElement("script");
script.crossOrigin = "";
script.src = "http://localhost:8080/security/resources/alert-fail.js";
script.onload = function() { done("FAIL"); }
script.onerror = function() { done("PASS");}
document.body.appendChild(script);
</script>
