chromium/third_party/blink/web_tests/http/tests/misc/async-script.html

<html>
<head>
<script src="/js-test-resources/js-test.js"></script>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function log(msg) {
    document.getElementById("log").innerHTML += msg;
}

function test() {
    var s = document.createElement("script");
    s.src = "resources/delayed-log.php?delay=1&msg=PASS&done=1";
    s.async = true;
    document.body.appendChild(s);

    // s should still execute.
    document.body.removeChild(s);
    setTimeout(gc, 1);
}
</script>
</head>
<body onload="test()">
<div>
<p>
Test that an asynchronous script tag is executed, even if it's removed from the
document before it was loaded.
</p>
<p>
This test passes if the word "PASS" is displayed below.
</p>
</div>
<div id="log"></div>
</body>
</html>