Make nsIHTMLCollection the first base for nsContentList and co, since it's needed for WebIDL bindings to work properly and shouldn't change behavior in practice. Move the handling of selected option and validity to HTMLSelectElement's mutation observer. Differential Revision: https://phabricator.services.mozilla.com/D295818
62 lines
1.7 KiB
HTML
62 lines
1.7 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=772869
|
|
-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test for Bug 772869</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=772869">Mozilla Bug 772869</a>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none">
|
|
<select id="s">
|
|
<option name="x"></option>
|
|
<option id="y" name="z"></option>
|
|
<option id="z" name="x"></option>
|
|
<option id="w"></option>
|
|
</select>
|
|
</div>
|
|
<pre id="test">
|
|
<script type="application/javascript">
|
|
|
|
/** Test for Bug 772869 */
|
|
var opt = $("s").options;
|
|
opt.loopy = "something"
|
|
var names = Object.getOwnPropertyNames(opt);
|
|
is(names.length, 9, "Should have nine entries");
|
|
is(names[0], "0", "Entry 1")
|
|
is(names[1], "1", "Entry 2")
|
|
is(names[2], "2", "Entry 3")
|
|
is(names[3], "3", "Entry 4")
|
|
is(names[4], "x", "Entry 5")
|
|
is(names[5], "y", "Entry 6")
|
|
is(names[6], "z", "Entry 7")
|
|
is(names[7], "w", "Entry 8")
|
|
is(names[8], "loopy", "Entry 9")
|
|
|
|
var names2 = [];
|
|
for (var name in opt) {
|
|
names2.push(name);
|
|
}
|
|
is(names2.length, 11, "Should have eleven enumerated names");
|
|
is(names2[0], "0", "Enum entry 1")
|
|
is(names2[1], "1", "Enum entry 2")
|
|
is(names2[2], "2", "Enum entry 3")
|
|
is(names2[3], "3", "Enum entry 4")
|
|
is(names2[4], "loopy", "Enum entry 5")
|
|
is(names2[5], "add", "Enum entrry 6")
|
|
is(names2[6], "remove", "Enum entry 7")
|
|
is(names2[7], "length", "Enum entry 8")
|
|
is(names2[8], "selectedIndex", "Enum entry 9")
|
|
is(names2[9], "item", "Enum entry 10")
|
|
is(names2[10], "namedItem", "Enum entry 11")
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|