<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin" type="text/css"?> <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?> <window title="Test nodelists from chrome" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script> <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> <!-- test results are displayed in the html:body --> <body xmlns="http://www.w3.org/1999/xhtml"> </body> <!-- test code goes here --> <script type="application/javascript"><![CDATA[ SimpleTest.waitForExplicitFinish(); function go() { var win = $('ifr').contentWindow; var list = win.document.getElementsByTagName('p'); is(list.length, 3, "can get the length"); ok(list[0] instanceof HTMLParagraphElement, "can get list[0]"); is(list[0], list.item(0), "list.item works"); is(list.item, list.item, "don't recreate functions for each get"); var list2 = list[2]; ok(list[2] instanceof HTMLParagraphElement, "list[2] exists"); ok("2" in list, "in operator works"); is(win.document.body.removeChild(win.document.body.lastChild), list2, "remove last paragraph element"); ok(!("2" in list), "in operator doesn't see phantom element"); is(list[2], undefined, "no node there!"); var optionList = win.document.createElement("select").options; var option = win.document.createElement("option"); optionList[0] = option; is(optionList.item(0), option, "Creators work"); option = win.document.createElement("option"); optionList[0] = option; is(optionList.item(0), option, "Setters work"); SimpleTest.finish(); } ]]></script> <iframe id="ifr" src="http://mochi.test:8888/tests/js/xpconnect/tests/mochitest/file_nodelists.html" onload="go()" /> </window>