<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=772869 --> <head> <meta charset="utf-8"> <title>Test for Bug 772869</title> <script type="application/javascript" 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 name="y" id="z"></option> <option name="z" id="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>