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