<html>
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<script id="s0" src="ignored.js"></script>
<script id="s1" src="ignored.js" async></script>
<script id="s2" src="ignored.js" async="async"></script>
<script id="s3" src="ignored.js" async="ASYNC"></script>
<script id="s4" src="ignored.js" async="true"></script>
<script id="s5" src="ignored.js" async="false"></script>
<script id="s6"></script>
<script id="s7" async></script>
<script id="s8" async></script>
<script>
description('This test checks for proper parsing of the async attribute on HTML script tags.');
var nextScriptID = 9;
function isAsync(id)
{
return document.getElementById(id).async;
}
function isDynamicallyInsertedScriptAsync(async)
{
var id = "s" + nextScriptID++;
var script = document.createElement("script");
script.id = id;
script.src = "resources/script-load.js";
if (async != null)
script.async = async;
document.getElementsByTagName("head")[0].appendChild(script);
return isAsync(id);
}
document.getElementById("s8").removeAttribute("async");
shouldBeFalse("isAsync('s0')");
shouldBeTrue("isAsync('s1')");
shouldBeTrue("isAsync('s2')");
shouldBeTrue("isAsync('s3')");
shouldBeTrue("isAsync('s4')");
shouldBeTrue("isAsync('s5')");
shouldBeTrue("isAsync('s6')");
shouldBeTrue("isAsync('s7')");
shouldBeFalse("isAsync('s8')");
shouldBeTrue("isDynamicallyInsertedScriptAsync(true)");
shouldBeFalse("isDynamicallyInsertedScriptAsync(false)");
shouldBeTrue("isDynamicallyInsertedScriptAsync(\"async\")");
shouldBeTrue("isDynamicallyInsertedScriptAsync(null)");
</script>
</body>
</html>