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