Files
sousa-gecko/dom/html/test/test_named_options.html
T
Emilio Cobos Álvarez b9a0d71900 Bug 2034055 - Make HTMLOptionsCollection use nsContentList. r=dom-core,smaug
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
2026-04-28 07:38:24 +00:00

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>