fune/dom/base/test/test_bug602838.html
Brian Grinstead 0d460e3432 Bug 1544322 - Part 2.2 - Remove the [type] attribute for one-liner <script> tags loading files in /tests/SimpleTest/ in dom/ r=bzbarsky
This is split from the previous changeset since if we include dom/ the file size is too
large for phabricator to handle.

This is an autogenerated commit to handle scripts loading mochitest harness files, in
the simple case where the script src is on the same line as the tag.

This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 2` argument.

Differential Revision: https://phabricator.services.mozilla.com/D27457

--HG--
extra : moz-landing-system : lando
2019-04-16 03:53:28 +00:00

68 lines
2.5 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=602838
-->
<head>
<title>Test for Bug 602838</title>
<script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=602838">Mozilla Bug 602838</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script id=withasync async></script>
<script id=withoutasync></script>
<script class="testbody" type="text/javascript">
/** Test for Bug 602838 **/
SimpleTest.waitForExplicitFinish();
var firstRan = false;
var asyncRan = false;
var withoutasync = document.getElementById("withoutasync");
ok(withoutasync.async, "When a script loses parser-insertedness, it should become async.");
var withasync = document.getElementById("withasync");
ok(withasync.async, "A script with the async content attribute should have the DOM attribute reporting true.");
withasync.removeAttribute("async");
ok(!withasync.async, "Should be able to remove asyncness from a script that had the async content attribute when losing parser-insertedness by removing the content attribute.");
var s = document.createElement("script");
ok(s.async, "Script-created scripts should default to .async=true");
ok(!s.hasAttribute("async"), "Script-created scripts should not have the async content attribute by default.");
s.removeAttribute("async");
ok(s.async, "Removing a non-existing content-attribute should not have an effect on the forced async DOM property.");
s.setAttribute("async", "");
ok(s.async, "The async DOM property should still be true.");
s.removeAttribute("async");
ok(!s.async, "When a previously present async content attribute is removed, the DOM property should become false.");
s.src = "script_bug602838.sjs";
document.body.appendChild(s);
s = document.createElement("script");
s.src = "data:text/javascript,ok(firstRan, 'The first script should have run'); SimpleTest.finish();";
s.async = false;
ok(!s.async, "Setting the async DOM property to false should turned of forcing async to true.");
document.body.appendChild(s);
function unblock() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "script_bug602838.sjs?unblock");
xhr.send();
}
s = document.createElement("script");
s.src = "data:text/javascript,ok(!firstRan, 'Non-async should not have run yet.'); asyncRan = true; unblock();";
document.body.appendChild(s);
</script>
</pre>
</body>
</html>