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

Side by Side Diff: third_party/WebKit/LayoutTests/inspector-protocol/resources/inspector-protocol-test.js

Issue 2960023003: [DevTools] Migrate inspector-protocol/emulation tests to new harness (Closed)
Patch Set: Created 3 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
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector-protocol/resources/device-scale-not-persistant.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var TestRunner = class { 5 var TestRunner = class {
6 constructor(baseURL, log, completeTest, fetch) { 6 constructor(baseURL, log, completeTest, fetch) {
7 this._dumpInspectorProtocolMessages = false; 7 this._dumpInspectorProtocolMessages = false;
8 this._baseURL = baseURL; 8 this._baseURL = baseURL;
9 this._log = log; 9 this._log = log;
10 this._completeTest = completeTest; 10 this._completeTest = completeTest;
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 192
193 navigate(url) { 193 navigate(url) {
194 return this._navigate(this._testRunner.url(url)); 194 return this._navigate(this._testRunner.url(url));
195 } 195 }
196 196
197 async _navigate(url) { 197 async _navigate(url) {
198 if (DevToolsAPI._sessions.get(this._targetId)) 198 if (DevToolsAPI._sessions.get(this._targetId))
199 this._testRunner.die(`Cannot navigate to ${url} with active session`, new Error()); 199 this._testRunner.die(`Cannot navigate to ${url} with active session`, new Error());
200 200
201 var session = await this.createSession(); 201 var session = await this.createSession();
202 session.protocol.Page.enable(); 202 await session._navigate(url);
203 session.protocol.Page.navigate({url: url});
204
205 var callback;
206 var promise = new Promise(f => callback = f);
207 session.protocol.Page.onFrameNavigated(message => {
208 if (!message.params.frame.parentId)
209 callback();
210 });
211 await Promise.all([
212 promise,
213 session.protocol.Page.onceLoadEventFired()
214 ]);
215
216 await session.disconnect(); 203 await session.disconnect();
217 } 204 }
218 205
219 async loadHTML(html) { 206 async loadHTML(html) {
220 if (DevToolsAPI._sessions.get(this._targetId)) 207 if (DevToolsAPI._sessions.get(this._targetId))
221 this._testRunner.die('Cannot loadHTML with active session', new Error()); 208 this._testRunner.die('Cannot loadHTML with active session', new Error());
222 209
223 html = html.replace(/'/g, "\\'").replace(/\n/g, '\\n'); 210 html = html.replace(/'/g, "\\'").replace(/\n/g, '\\n');
224 var session = await this.createSession(); 211 var session = await this.createSession();
225 await session.protocol.Runtime.evaluate({expression: `document.write('${html }');document.close();`}); 212 await session.protocol.Runtime.evaluate({expression: `document.write('${html }');document.close();`});
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 code = `(${code.toString()})()`; 259 code = `(${code.toString()})()`;
273 var response = await this.protocol.Runtime.evaluate({expression: code, retur nByValue: true, awaitPromise: true}); 260 var response = await this.protocol.Runtime.evaluate({expression: code, retur nByValue: true, awaitPromise: true});
274 if (response.error) { 261 if (response.error) {
275 this._testRunner.log(`Error while evaluating async '${code}': ${response.e rror}`); 262 this._testRunner.log(`Error while evaluating async '${code}': ${response.e rror}`);
276 this._testRunner.completeTest(); 263 this._testRunner.completeTest();
277 } else { 264 } else {
278 return response.result.result.value; 265 return response.result.result.value;
279 } 266 }
280 } 267 }
281 268
269 navigate(url) {
270 return this._navigate(this._testRunner.url(url));
271 }
272
273 async _navigate(url) {
274 this.protocol.Page.enable();
275 this.protocol.Page.navigate({url: url});
276
277 var callback;
278 var promise = new Promise(f => callback = f);
279 this.protocol.Page.onFrameNavigated(message => {
280 if (!message.params.frame.parentId)
281 callback();
282 });
283 await Promise.all([
284 promise,
285 this.protocol.Page.onceLoadEventFired()
286 ]);
287 }
288
282 _dispatchMessage(message) { 289 _dispatchMessage(message) {
283 if (this._testRunner._dumpInspectorProtocolMessages) 290 if (this._testRunner._dumpInspectorProtocolMessages)
284 this._testRunner.log(`backend => frontend: ${JSON.stringify(message)}`); 291 this._testRunner.log(`backend => frontend: ${JSON.stringify(message)}`);
285 if (typeof message.id === 'number') { 292 if (typeof message.id === 'number') {
286 var handler = this._dispatchTable.get(message.id); 293 var handler = this._dispatchTable.get(message.id);
287 if (handler) { 294 if (handler) {
288 this._dispatchTable.delete(message.id); 295 this._dispatchTable.delete(message.id);
289 handler(message); 296 handler(message);
290 } 297 }
291 } else { 298 } else {
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 474
468 window['onerror'] = (message, source, lineno, colno, error) => { 475 window['onerror'] = (message, source, lineno, colno, error) => {
469 DevToolsAPI._log(`${error}\n${error.stack}`); 476 DevToolsAPI._log(`${error}\n${error.stack}`);
470 DevToolsAPI._completeTest(); 477 DevToolsAPI._completeTest();
471 }; 478 };
472 479
473 window.addEventListener('unhandledrejection', e => { 480 window.addEventListener('unhandledrejection', e => {
474 DevToolsAPI._log(`Promise rejection: ${e.reason}\n${e.reason ? e.reason.stack : ''}`); 481 DevToolsAPI._log(`Promise rejection: ${e.reason}\n${e.reason ? e.reason.stack : ''}`);
475 DevToolsAPI._completeTest(); 482 DevToolsAPI._completeTest();
476 }, false); 483 }, false);
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector-protocol/resources/device-scale-not-persistant.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698