OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>NodeIterator: Basic test</title> | 4 <title>NodeIterator: Basic test</title> |
5 <script src="../../../resources/testharness.js"></script> | 5 <script src="../../../resources/testharness.js"></script> |
6 <script src="../../../resources/testharnessreport.js"></script> | 6 <script src="../../../resources/testharnessreport.js"></script> |
7 <link rel="stylesheet" href="../../../resources/testharness.css"> | 7 <link rel="stylesheet" href="../../../resources/testharness.css"> |
8 </head> | 8 </head> |
9 <body> | 9 <body> |
10 <p>This test checks the basic functionality of NodeIterator.</p> | 10 <p>This test checks the basic functionality of NodeIterator.</p> |
11 <script> | 11 <script> |
12 function createSampleDOM() | 12 function createSampleDOM() |
13 { | 13 { |
14 // Tree order: #a -> "b" -> #c -> #d -> "e" -> #f -> "g" -> <!--h--> -> "i"
-> <!--j-->. | 14 // Tree order: #a -> "b" -> #c -> #d -> "e" -> #f -> "g" -> <!--h--> -> "i"
-> <!--j-->. |
15 var div = document.createElement('div'); | 15 var div = document.createElement('div'); |
16 div.id = 'a'; | 16 div.id = 'a'; |
17 div.innerHTML = 'b<div id="c"><div id="d">e<span id="f">g<!--h--></span>i</d
iv><!--j--></div>'; | 17 div.innerHTML = 'b<div id="c"><div id="d">e<span id="f">g<!--h--></span>i</d
iv><!--j--></div>'; |
18 return div; | 18 return div; |
19 } | 19 } |
20 | 20 |
21 test(function () | 21 function check_iterator(iterator, root) |
22 { | 22 { |
23 var root = createSampleDOM(); | |
24 var iterator = document.createNodeIterator(root); | |
25 assert_equals(iterator.toString(), '[object NodeIterator]'); | 23 assert_equals(iterator.toString(), '[object NodeIterator]'); |
26 assert_equals(iterator.root, root); | 24 assert_equals(iterator.root, root); |
27 assert_equals(iterator.referenceNode, root); | 25 assert_equals(iterator.referenceNode, root); |
28 assert_equals(iterator.pointerBeforeReferenceNode, true); | 26 assert_equals(iterator.pointerBeforeReferenceNode, true); |
29 assert_equals(iterator.whatToShow, 0xFFFFFFFF); | 27 assert_equals(iterator.whatToShow, 0xFFFFFFFF); |
30 assert_equals(iterator.filter, null); | 28 assert_equals(iterator.filter, null); |
31 assert_readonly(iterator, 'root'); | 29 assert_readonly(iterator, 'root'); |
32 assert_readonly(iterator, 'referenceNode'); | 30 assert_readonly(iterator, 'referenceNode'); |
33 assert_readonly(iterator, 'pointerBeforeReferenceNode'); | 31 assert_readonly(iterator, 'pointerBeforeReferenceNode'); |
34 assert_readonly(iterator, 'whatToShow'); | 32 assert_readonly(iterator, 'whatToShow'); |
35 assert_readonly(iterator, 'filter'); | 33 assert_readonly(iterator, 'filter'); |
36 assert_idl_attribute(iterator, 'nextNode'); | 34 assert_idl_attribute(iterator, 'nextNode'); |
37 assert_idl_attribute(iterator, 'previousNode'); | 35 assert_idl_attribute(iterator, 'previousNode'); |
38 assert_idl_attribute(iterator, 'detach'); | 36 assert_idl_attribute(iterator, 'detach'); |
39 }, 'Construct a NodeIterator by document.createNodeIterator().'); | 37 } |
40 | 38 |
41 test(function () | 39 test(function () |
42 { | 40 { |
| 41 var root = createSampleDOM(); |
| 42 var iterator = document.createNodeIterator(root); |
| 43 check_iterator(iterator, root); |
| 44 }, 'Construct a NodeIterator by document.createNodeIterator(root).'); |
| 45 |
| 46 test(function () |
| 47 { |
| 48 var root = createSampleDOM(); |
| 49 var iterator = document.createNodeIterator(root, undefined, undefined); |
| 50 check_iterator(iterator, root); |
| 51 }, 'Construct a NodeIterator by document.createNodeIterator(root, undefined, und
efined).'); |
| 52 |
| 53 test(function () |
| 54 { |
43 assert_throws(new TypeError(), function () { document.createNodeIterator();
}); | 55 assert_throws(new TypeError(), function () { document.createNodeIterator();
}); |
44 assert_throws(new TypeError(), function () { document.createNodeIterator(nul
l); }); | 56 assert_throws(new TypeError(), function () { document.createNodeIterator(nul
l); }); |
45 assert_throws(new TypeError(), function () { document.createNodeIterator(und
efined); }); | 57 assert_throws(new TypeError(), function () { document.createNodeIterator(und
efined); }); |
46 assert_throws(new TypeError(), function () { document.createNodeIterator(new
Object()); }); | 58 assert_throws(new TypeError(), function () { document.createNodeIterator(new
Object()); }); |
47 assert_throws(new TypeError(), function () { document.createNodeIterator(1);
}); | 59 assert_throws(new TypeError(), function () { document.createNodeIterator(1);
}); |
48 }, 'Give an invalid root node to document.createNodeIterator().'); | 60 }, 'Give an invalid root node to document.createNodeIterator().'); |
49 | 61 |
50 // |expected| should be an object indicating the expected type of node. | 62 // |expected| should be an object indicating the expected type of node. |
51 function assert_node(actual, expected) | 63 function assert_node(actual, expected) |
52 { | 64 { |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 test(function() { | 209 test(function() { |
198 var nodeIterator = document.createNodeIterator(document.body, 42, null); | 210 var nodeIterator = document.createNodeIterator(document.body, 42, null); |
199 assert_equals(nodeIterator.root, document.body); | 211 assert_equals(nodeIterator.root, document.body); |
200 assert_equals(nodeIterator.referenceNode, document.body); | 212 assert_equals(nodeIterator.referenceNode, document.body); |
201 assert_equals(nodeIterator.whatToShow, 42); | 213 assert_equals(nodeIterator.whatToShow, 42); |
202 assert_equals(nodeIterator.filter, null); | 214 assert_equals(nodeIterator.filter, null); |
203 }, "Optional arguments to createNodeIterator should be optional (3 passed, null)
."); | 215 }, "Optional arguments to createNodeIterator should be optional (3 passed, null)
."); |
204 </script> | 216 </script> |
205 </body> | 217 </body> |
206 </html> | 218 </html> |
OLD | NEW |