|
1 <?xml version="1.0"?> |
|
2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?> |
|
3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" |
|
4 type="text/css"?> |
|
5 <window title="Test nodelists from chrome" |
|
6 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> |
|
7 <script type="application/javascript" |
|
8 src="chrome://mochikit/content/MochiKit/packed.js"></script> |
|
9 <script type="application/javascript" |
|
10 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> |
|
11 |
|
12 <!-- test results are displayed in the html:body --> |
|
13 <body xmlns="http://www.w3.org/1999/xhtml"> |
|
14 </body> |
|
15 |
|
16 <!-- test code goes here --> |
|
17 <script type="application/javascript"><![CDATA[ |
|
18 SimpleTest.waitForExplicitFinish(); |
|
19 |
|
20 function go() { |
|
21 var win = $('ifr').contentWindow; |
|
22 var list = win.document.getElementsByTagName('p'); |
|
23 is(list.length, 3, "can get the length"); |
|
24 ok(list[0].toString().indexOf("[object HTMLParagraphElement") >= 0, "can get list[0]"); |
|
25 is(list[0], list.item(0), "list.item works"); |
|
26 is(list.item, list.item, "don't recreate functions for each get"); |
|
27 |
|
28 var list2 = list[2]; |
|
29 ok(list[2].toString().indexOf("[object HTMLParagraphElement"), "list[2] exists"); |
|
30 ok("2" in list, "in operator works"); |
|
31 |
|
32 is(win.document.body.removeChild(win.document.body.lastChild), list2, "remove last paragraph element"); |
|
33 ok(!("2" in list), "in operator doesn't see phantom element"); |
|
34 is(list[2], undefined, "no node there!"); |
|
35 SimpleTest.finish(); |
|
36 } |
|
37 ]]></script> |
|
38 |
|
39 <iframe id="ifr" |
|
40 src="http://mochi.test:8888/tests/js/xpconnect/tests/mochitest/file_nodelists.html" |
|
41 onload="go()" /> |
|
42 </window> |