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 function check_iterator(iterator, root) | 21 test(function () |
22 { | 22 { |
| 23 var root = createSampleDOM(); |
| 24 var iterator = document.createNodeIterator(root); |
23 assert_equals(iterator.toString(), '[object NodeIterator]'); | 25 assert_equals(iterator.toString(), '[object NodeIterator]'); |
24 assert_equals(iterator.root, root); | 26 assert_equals(iterator.root, root); |
25 assert_equals(iterator.referenceNode, root); | 27 assert_equals(iterator.referenceNode, root); |
26 assert_equals(iterator.pointerBeforeReferenceNode, true); | 28 assert_equals(iterator.pointerBeforeReferenceNode, true); |
27 assert_equals(iterator.whatToShow, 0xFFFFFFFF); | 29 assert_equals(iterator.whatToShow, 0xFFFFFFFF); |
28 assert_equals(iterator.filter, null); | 30 assert_equals(iterator.filter, null); |
29 assert_readonly(iterator, 'root'); | 31 assert_readonly(iterator, 'root'); |
30 assert_readonly(iterator, 'referenceNode'); | 32 assert_readonly(iterator, 'referenceNode'); |
31 assert_readonly(iterator, 'pointerBeforeReferenceNode'); | 33 assert_readonly(iterator, 'pointerBeforeReferenceNode'); |
32 assert_readonly(iterator, 'whatToShow'); | 34 assert_readonly(iterator, 'whatToShow'); |
33 assert_readonly(iterator, 'filter'); | 35 assert_readonly(iterator, 'filter'); |
34 assert_idl_attribute(iterator, 'nextNode'); | 36 assert_idl_attribute(iterator, 'nextNode'); |
35 assert_idl_attribute(iterator, 'previousNode'); | 37 assert_idl_attribute(iterator, 'previousNode'); |
36 assert_idl_attribute(iterator, 'detach'); | 38 assert_idl_attribute(iterator, 'detach'); |
37 } | 39 }, 'Construct a NodeIterator by document.createNodeIterator().'); |
38 | 40 |
39 test(function () | 41 test(function () |
40 { | 42 { |
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 { | |
55 assert_throws(new TypeError(), function () { document.createNodeIterator();
}); | 43 assert_throws(new TypeError(), function () { document.createNodeIterator();
}); |
56 assert_throws(new TypeError(), function () { document.createNodeIterator(nul
l); }); | 44 assert_throws(new TypeError(), function () { document.createNodeIterator(nul
l); }); |
57 assert_throws(new TypeError(), function () { document.createNodeIterator(und
efined); }); | 45 assert_throws(new TypeError(), function () { document.createNodeIterator(und
efined); }); |
58 assert_throws(new TypeError(), function () { document.createNodeIterator(new
Object()); }); | 46 assert_throws(new TypeError(), function () { document.createNodeIterator(new
Object()); }); |
59 assert_throws(new TypeError(), function () { document.createNodeIterator(1);
}); | 47 assert_throws(new TypeError(), function () { document.createNodeIterator(1);
}); |
60 }, 'Give an invalid root node to document.createNodeIterator().'); | 48 }, 'Give an invalid root node to document.createNodeIterator().'); |
61 | 49 |
62 // |expected| should be an object indicating the expected type of node. | 50 // |expected| should be an object indicating the expected type of node. |
63 function assert_node(actual, expected) | 51 function assert_node(actual, expected) |
64 { | 52 { |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 test(function() { | 197 test(function() { |
210 var nodeIterator = document.createNodeIterator(document.body, 42, null); | 198 var nodeIterator = document.createNodeIterator(document.body, 42, null); |
211 assert_equals(nodeIterator.root, document.body); | 199 assert_equals(nodeIterator.root, document.body); |
212 assert_equals(nodeIterator.referenceNode, document.body); | 200 assert_equals(nodeIterator.referenceNode, document.body); |
213 assert_equals(nodeIterator.whatToShow, 42); | 201 assert_equals(nodeIterator.whatToShow, 42); |
214 assert_equals(nodeIterator.filter, null); | 202 assert_equals(nodeIterator.filter, null); |
215 }, "Optional arguments to createNodeIterator should be optional (3 passed, null)
."); | 203 }, "Optional arguments to createNodeIterator should be optional (3 passed, null)
."); |
216 </script> | 204 </script> |
217 </body> | 205 </body> |
218 </html> | 206 </html> |
OLD | NEW |