mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 02:05:42 +00:00
0d460e3432
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
109 lines
3.7 KiB
HTML
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>
|
|
|