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

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

Issue 2968523003: [DevTools] Migrate inspector-protocol/debugger tests to new harness (Closed)
Patch Set: all tests 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
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 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 _setupProtocol() { 305 _setupProtocol() {
306 return new Proxy({}, { get: (target, agentName, receiver) => new Proxy({}, { 306 return new Proxy({}, { get: (target, agentName, receiver) => new Proxy({}, {
307 get: (target, methodName, receiver) => { 307 get: (target, methodName, receiver) => {
308 const eventPattern = /^(on(ce)?|off)([A-Z][A-Za-z0-9]+)/; 308 const eventPattern = /^(on(ce)?|off)([A-Z][A-Za-z0-9]+)/;
309 var match = eventPattern.exec(methodName); 309 var match = eventPattern.exec(methodName);
310 if (!match) 310 if (!match)
311 return args => this.sendCommand(`${agentName}.${methodName}`, args || {}); 311 return args => this.sendCommand(`${agentName}.${methodName}`, args || {});
312 var eventName = match[3]; 312 var eventName = match[3];
313 eventName = eventName.charAt(0).toLowerCase() + eventName.slice(1); 313 eventName = eventName.charAt(0).toLowerCase() + eventName.slice(1);
314 if (match[1] === 'once') 314 if (match[1] === 'once')
315 return () => this._waitForEvent(`${agentName}.${eventName}`); 315 return eventMatcher => this._waitForEvent(`${agentName}.${eventName}`, eventMatcher);
316 if (match[1] === 'off') 316 if (match[1] === 'off')
317 return listener => this._removeEventHandler(`${agentName}.${eventName} `, listener); 317 return listener => this._removeEventHandler(`${agentName}.${eventName} `, listener);
318 return listener => this._addEventHandler(`${agentName}.${eventName}`, li stener); 318 return listener => this._addEventHandler(`${agentName}.${eventName}`, li stener);
319 } 319 }
320 })}); 320 })});
321 } 321 }
322 322
323 _addEventHandler(eventName, handler) { 323 _addEventHandler(eventName, handler) {
324 var handlers = this._eventHandlers.get(eventName) || []; 324 var handlers = this._eventHandlers.get(eventName) || [];
325 handlers.push(handler); 325 handlers.push(handler);
326 this._eventHandlers.set(eventName, handlers); 326 this._eventHandlers.set(eventName, handlers);
327 } 327 }
328 328
329 _removeEventHandler(eventName, handler) { 329 _removeEventHandler(eventName, handler) {
330 var handlers = this._eventHandlers.get(eventName) || []; 330 var handlers = this._eventHandlers.get(eventName) || [];
331 var index = handlers.indexOf(handler); 331 var index = handlers.indexOf(handler);
332 if (index === -1) 332 if (index === -1)
333 return; 333 return;
334 handlers.splice(index, 1); 334 handlers.splice(index, 1);
335 this._eventHandlers.set(eventName, handlers); 335 this._eventHandlers.set(eventName, handlers);
336 } 336 }
337 337
338 _waitForEvent(eventName) { 338 _waitForEvent(eventName, eventMatcher) {
339 return new Promise(callback => { 339 return new Promise(callback => {
340 var handler = result => { 340 var handler = result => {
341 if (eventMatcher && !eventMatcher(result))
342 return;
341 this._removeEventHandler(eventName, handler); 343 this._removeEventHandler(eventName, handler);
342 callback(result); 344 callback(result);
343 }; 345 };
344 this._addEventHandler(eventName, handler); 346 this._addEventHandler(eventName, handler);
345 }); 347 });
346 } 348 }
347 }; 349 };
348 350
349 var DevToolsAPI = {}; 351 var DevToolsAPI = {};
350 DevToolsAPI._requestId = 0; 352 DevToolsAPI._requestId = 0;
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 476
475 window['onerror'] = (message, source, lineno, colno, error) => { 477 window['onerror'] = (message, source, lineno, colno, error) => {
476 DevToolsAPI._log(`${error}\n${error.stack}`); 478 DevToolsAPI._log(`${error}\n${error.stack}`);
477 DevToolsAPI._completeTest(); 479 DevToolsAPI._completeTest();
478 }; 480 };
479 481
480 window.addEventListener('unhandledrejection', e => { 482 window.addEventListener('unhandledrejection', e => {
481 DevToolsAPI._log(`Promise rejection: ${e.reason}\n${e.reason ? e.reason.stack : ''}`); 483 DevToolsAPI._log(`Promise rejection: ${e.reason}\n${e.reason ? e.reason.stack : ''}`);
482 DevToolsAPI._completeTest(); 484 DevToolsAPI._completeTest();
483 }, false); 485 }, false);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698