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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/traversal/TreeWalker-basic.html

Issue 1988983002: Move the dom directory from web-platform-tests/ to wpt/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <!--
4 Test adapted from https://mxr.mozilla.org/chromium/source/src/third_party/WebKit /LayoutTests/fast/dom/TreeWalker/TreeWalker-basic.html
5 -->
6 <head>
7 <title>TreeWalker: Basic test</title>
8 <script src="../../../../resources/testharness.js"></script>
9 <script src="../../../../resources/testharnessreport.js"></script>
10 <script src="traversal-support.js"></script>
11 <div id=log></div>
12 </head>
13 <body>
14 <p>This test checks the basic functionality of TreeWalker.</p>
15 <script>
16 function createSampleDOM()
17 {
18 // Tree structure:
19 // #a
20 // |
21 // +----+----+
22 // | |
23 // "b" #c
24 // |
25 // +----+----+
26 // | |
27 // #d <!--j-->
28 // |
29 // +----+----+
30 // | | |
31 // "e" #f "i"
32 // |
33 // +--+--+
34 // | |
35 // "g" <!--h-->
36 var div = document.createElement('div');
37 div.id = 'a';
38 // div.innerHTML = 'b<div id="c"><div id="d">e<span id="f">g<!--h--></span>i </div><!--j--></div>';
39
40 div.appendChild(document.createTextNode("b"));
41
42 var c = document.createElement("div");
43 c.id = 'c';
44 div.appendChild(c);
45
46 var d = document.createElement("div");
47 d.id = 'd';
48 c.appendChild(d);
49
50 var e = document.createTextNode("e");
51 d.appendChild(e);
52
53 var f = document.createElement("span");
54 f.id = 'f';
55 d.appendChild(f);
56
57 var g = document.createTextNode("g");
58 f.appendChild(g);
59
60 var h = document.createComment("h");
61 f.appendChild(h);
62
63 var i = document.createTextNode("i");
64 d.appendChild(i);
65
66 var j = document.createComment("j");
67 c.appendChild(j);
68
69 return div;
70 }
71
72 function check_walker(walker, root, whatToShowValue)
73 {
74 whatToShowValue = whatToShowValue === undefined ? 0xFFFFFFFF : whatToShowVal ue;
75
76 assert_equals(walker.toString(), '[object TreeWalker]', 'toString');
77 assert_equals(walker.root, root, 'root');
78 assert_equals(walker.whatToShow, whatToShowValue, 'whatToShow');
79 assert_equals(walker.filter, null, 'filter');
80 assert_equals(walker.currentNode, root, 'currentNode');
81 assert_readonly(walker, 'root');
82 assert_readonly(walker, 'whatToShow');
83 assert_readonly(walker, 'filter');
84 }
85
86 test(function ()
87 {
88 var root = createSampleDOM();
89 var walker = document.createTreeWalker(root);
90 check_walker(walker, root);
91 }, 'Construct a TreeWalker by document.createTreeWalker(root).');
92
93 test(function ()
94 {
95 var root = createSampleDOM();
96 var walker = document.createTreeWalker(root, null, null);
97 check_walker(walker, root, 0);
98 }, 'Construct a TreeWalker by document.createTreeWalker(root, null, null).');
99
100 test(function ()
101 {
102 var root = createSampleDOM();
103 var walker = document.createTreeWalker(root, undefined, undefined);
104 check_walker(walker, root);
105 }, 'Construct a TreeWalker by document.createTreeWalker(root, undefined, undefin ed).');
106
107 test(function ()
108 {
109 assert_throws(new TypeError(), function () { document.createTreeWalker(); }) ;
110 assert_throws(new TypeError(), function () { document.createTreeWalker(null) ; });
111 assert_throws(new TypeError(), function () { document.createTreeWalker(undef ined); });
112 assert_throws(new TypeError(), function () { document.createTreeWalker(new O bject()); });
113 assert_throws(new TypeError(), function () { document.createTreeWalker(1); } );
114 }, 'Give an invalid root node to document.createTreeWalker().');
115
116 test(function ()
117 {
118 var root = createSampleDOM();
119 var walker = document.createTreeWalker(root);
120 var f = root.lastChild.firstChild.childNodes[1]; // An element node: div#f.
121
122 assert_node(walker.currentNode, { type: Element, id: 'a' });
123 assert_equals(walker.parentNode(), null);
124 assert_node(walker.currentNode, { type: Element, id: 'a' });
125 assert_node(walker.firstChild(), { type: Text, nodeValue: 'b' });
126 assert_node(walker.currentNode, { type: Text, nodeValue: 'b' });
127 assert_node(walker.nextSibling(), { type: Element, id: 'c' });
128 assert_node(walker.currentNode, { type: Element, id: 'c' });
129 assert_node(walker.lastChild(), { type: Comment, nodeValue: 'j' });
130 assert_node(walker.currentNode, { type: Comment, nodeValue: 'j' });
131 assert_node(walker.previousSibling(), { type: Element, id: 'd' });
132 assert_node(walker.currentNode, { type: Element, id: 'd' });
133 assert_node(walker.nextNode(), { type: Text, nodeValue: 'e' });
134 assert_node(walker.currentNode, { type: Text, nodeValue: 'e' });
135 assert_node(walker.parentNode(), { type: Element, id: 'd' });
136 assert_node(walker.currentNode, { type: Element, id: 'd' });
137 assert_node(walker.previousNode(), { type: Element, id: 'c' });
138 assert_node(walker.currentNode, { type: Element, id: 'c' });
139 assert_equals(walker.nextSibling(), null);
140 assert_node(walker.currentNode, { type: Element, id: 'c' });
141 walker.currentNode = f;
142 assert_equals(walker.currentNode, f);
143 }, 'Walk over nodes.');
144
145 test(function() {
146 var treeWalker = document.createTreeWalker(document.body, 42, null);
147 assert_equals(treeWalker.root, document.body);
148 assert_equals(treeWalker.currentNode, document.body);
149 assert_equals(treeWalker.whatToShow, 42);
150 assert_equals(treeWalker.filter, null);
151 }, "Optional arguments to createTreeWalker should be optional (3 passed, null)." );
152 </script>
153 </body>
154 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698