59 lines
1.7 KiB
HTML
59 lines
1.7 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../../resources/js-test-pre.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>
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|
|
|