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

Side by Side Diff: third_party/WebKit/LayoutTests/shadow-dom/resources/shadow-dom.js

Issue 2053503003: Clean up layout tests in LayoutTests/shadow-dom/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 function removeWhiteSpaceOnlyTextNodes(node) 1 function removeWhiteSpaceOnlyTextNodes(node)
2 { 2 {
3 for (var i = 0; i < node.childNodes.length; i++) { 3 for (var i = 0; i < node.childNodes.length; i++) {
4 var child = node.childNodes[i]; 4 var child = node.childNodes[i];
5 if (child.nodeType === Node.TEXT_NODE && child.nodeValue.trim().length = = 0) { 5 if (child.nodeType === Node.TEXT_NODE && child.nodeValue.trim().length = = 0) {
6 node.removeChild(child); 6 node.removeChild(child);
7 i--; 7 i--;
8 } else if (child.nodeType === Node.ELEMENT_NODE || child.nodeType === No de.DOCUMENT_FRAGMENT_NODE) { 8 } else if (child.nodeType === Node.ELEMENT_NODE || child.nodeType === No de.DOCUMENT_FRAGMENT_NODE) {
9 removeWhiteSpaceOnlyTextNodes(child); 9 removeWhiteSpaceOnlyTextNodes(child);
10 } 10 }
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 let startingNode = nodes[label]; 110 let startingNode = nodes[label];
111 for (let node = startingNode; node; node = node.parentNode) { 111 for (let node = startingNode; node; node = node.parentNode) {
112 if (attachedNodes.indexOf(node) >= 0) 112 if (attachedNodes.indexOf(node) >= 0)
113 continue; 113 continue;
114 let id = node.id; 114 let id = node.id;
115 if (!id) 115 if (!id)
116 continue; 116 continue;
117 attachedNodes.push(node); 117 attachedNodes.push(node);
118 node.addEventListener(event.type, (e) => { 118 node.addEventListener(event.type, (e) => {
119 log.push([id, 119 log.push([id,
120 event.relatedTarget ? labelFor(event.relatedTarget) : null, 120 e.relatedTarget ? labelFor(e.relatedTarget) : null,
121 event.composedPath().map((n) => { 121 e.composedPath().map((n) => {
122 return labelFor(n); 122 return labelFor(n);
123 })]); 123 })]);
124 }); 124 });
125 } 125 }
126 } 126 }
127 target.dispatchEvent(event); 127 target.dispatchEvent(event);
128 return log; 128 return log;
129 } 129 }
130 130
131 function dispatchUAEventWithLog(nodes, target, eventType, callback) { 131 function dispatchUAEventWithLog(nodes, target, eventType, callback) {
132 132
133 function labelFor(e) { 133 function labelFor(e) {
134 return e.id || e.tagName; 134 return e.id || e.tagName;
135 } 135 }
136 136
137 let log = []; 137 let log = [];
138 let attachedNodes = []; 138 let attachedNodes = [];
139 for (let label in nodes) { 139 for (let label in nodes) {
140 let startingNode = nodes[label]; 140 let startingNode = nodes[label];
141 for (let node = startingNode; node; node = node.parentNode) { 141 for (let node = startingNode; node; node = node.parentNode) {
142 if (attachedNodes.indexOf(node) >= 0) 142 if (attachedNodes.indexOf(node) >= 0)
143 continue; 143 continue;
144 let id = node.id; 144 let id = node.id;
145 if (!id) 145 if (!id)
146 continue; 146 continue;
147 attachedNodes.push(node); 147 attachedNodes.push(node);
148 node.addEventListener(eventType, (e) => { 148 node.addEventListener(eventType, (e) => {
149 log.push([id, 149 log.push([id,
150 event.relatedTarget ? labelFor(event.relatedTarget) : null, 150 e.relatedTarget ? labelFor(e.relatedTarget) : null,
151 event.composedPath().map((n) => { 151 e.composedPath().map((n) => {
152 return labelFor(n); 152 return labelFor(n);
153 })]); 153 })]);
154 }); 154 });
155 } 155 }
156 } 156 }
157 callback(target); 157 callback(target);
158 return log; 158 return log;
159 } 159 }
160 160
161 // This function assumes that testharness.js is available. 161 // This function assumes that testharness.js is available.
162 function assert_event_path_equals(actual, expected) { 162 function assert_event_path_equals(actual, expected) {
163 assert_equals(actual.length, expected.length); 163 assert_equals(actual.length, expected.length);
164 for (let i = 0; i < actual.length; ++i) { 164 for (let i = 0; i < actual.length; ++i) {
165 assert_equals(actual[i][0], expected[i][0], 'currentTarget at ' + i + ' shou ld be same'); 165 assert_equals(actual[i][0], expected[i][0], 'currentTarget at ' + i + ' shou ld be same');
166 assert_equals(actual[i][1], expected[i][1], 'relatedTarget at ' + i + ' shou ld be same'); 166 assert_equals(actual[i][1], expected[i][1], 'relatedTarget at ' + i + ' shou ld be same');
167 assert_array_equals(actual[i][2], expected[i][2], 'composedPath at ' + i + ' should be same'); 167 assert_array_equals(actual[i][2], expected[i][2], 'composedPath at ' + i + ' should be same');
168 } 168 }
169 } 169 }
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/shadow-dom/default-slots.html ('k') | third_party/WebKit/LayoutTests/shadow-dom/slots-1.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698