| 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 |