Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: LayoutTests/fast/dom/NodeIterator/NodeIterator-basic.html

Issue 373043004: IDL: Treat undefined as missing for optional arguments with defaults (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebased Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698