gecko-dev/dom/html/test/test_bug395107.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

109 lines
3.7 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=395107
-->
<head>
<title>Test for Bug 395107</title>
<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=395107">Mozilla Bug 395107</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
/** Test for Bug 395107 **/
var testNumber = 0;
function assertSelected(aOption, aExpectDefaultSelected, aExpectSelected) {
++testNumber;
is(aOption.defaultSelected, aExpectDefaultSelected,
"Asserting default-selected state for option " + testNumber);
is(aOption.selected, aExpectSelected,
"Asserting selected state for option " + testNumber);
}
function assertSame(aSel1, aSel2Str, aTestNumber) {
var div = document.createElement("div");
div.innerHTML = aSel2Str;
sel2 = div.firstChild;
is(aSel1.options.length, sel2.options.length,
"Length should be same in select test " + aTestNumber);
is(aSel1.selectedIndex, sel2.selectedIndex,
"Selected index should be same in select test " + aTestNumber);
for (var i = 0; i < aSel1.options.length; ++i) {
is(aSel1.options[i].selected, sel2.options[i].selected,
"Options[" + i + "].selected should be the same in select test " +
aTestNumber);
is(aSel1.options[i].defaultSelected, sel2.options[i].defaultSelected,
"Options[" + i +
"].defaultSelected should be the same in select test " +
aTestNumber);
}
}
// In a single-select, setting an option selected should deselect an
// existing selected option.
var sel = document.createElement("select");
sel.appendChild(new Option());
is(sel.selectedIndex, 0, "First option should be selected");
assertSelected(sel.firstChild, false, true);
sel.appendChild(new Option());
is(sel.selectedIndex, 0, "First option should still be selected");
assertSelected(sel.firstChild, false, true);
assertSelected(sel.firstChild.nextSibling, false, false);
opt = new Option();
sel.appendChild(opt);
opt.defaultSelected = true;
assertSelected(sel.firstChild, false, false);
assertSelected(sel.firstChild.nextSibling, false, false);
assertSelected(opt, true, true);
is(opt, sel.firstChild.nextSibling.nextSibling, "What happened here?");
is(sel.options[0], sel.firstChild, "Unexpected option 0");
is(sel.options[1], sel.firstChild.nextSibling, "Unexpected option 1");
is(sel.options[2], opt, "Unexpected option 2");
is(sel.selectedIndex, 2, "Unexpected selectedIndex in select test 1");
assertSame(sel, "<select><option><option><option selected></select>", 1);
// Same, but with the option that gets set selected earlier in the select
sel = document.createElement("select");
sel.appendChild(new Option());
sel.appendChild(new Option());
opt = new Option();
opt.defaultSelected = true;
sel.appendChild(opt);
opt = new Option();
sel.options[0] = opt;
opt.defaultSelected = true;
assertSelected(sel.options[0], true, true);
assertSelected(sel.options[1], false, false);
assertSelected(sel.options[2], true, false);
is(sel.selectedIndex, 0, "Unexpected selectedIndex in select test 2");
// And now try unselecting options
sel = document.createElement("select");
sel.appendChild(new Option());
opt = new Option();
opt.defaultSelected = true;
sel.appendChild(opt);
sel.appendChild(new Option());
opt.defaultSelected = false;
assertSelected(sel.options[0], false, true);
assertSelected(sel.options[1], false, false);
assertSelected(sel.options[2], false, false);
is(sel.selectedIndex, 0, "Unexpected selectedIndex in select test 2");
</script>
</pre>
</body>
</html>