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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/integration_test_runner/IntegrationTestRunner.js

Issue 2837083003: DevTools: create test infrastructure so devtools drives the test (Closed)
Patch Set: all Created 3 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
(Empty)
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
3 // found in the LICENSE file.
4
5 /**
6 * Export all public members onto TestRunner namespace so test writers have a si mpler API.
7 * @fileoverview using private properties isn't a Closure violation in tests.
8 * @suppress {accessControls}
9 */
10
11 /**
12 * @param {!SDK.Target} target
13 */
14 IntegrationTestRunner._setupTestHelpers = function(target) {
15 TestRunner.CSSAgent = target.cssAgent();
16 TestRunner.DeviceOrientationAgent = target.deviceOrientationAgent();
17 TestRunner.DOMAgent = target.domAgent();
18 TestRunner.DOMDebuggerAgent = target.domdebuggerAgent();
19 TestRunner.DebuggerAgent = target.debuggerAgent();
20 TestRunner.EmulationAgent = target.emulationAgent();
21 TestRunner.HeapProfilerAgent = target.heapProfilerAgent();
22 TestRunner.InspectorAgent = target.inspectorAgent();
23 TestRunner.NetworkAgent = target.networkAgent();
24 TestRunner.PageAgent = target.pageAgent();
25 TestRunner.ProfilerAgent = target.profilerAgent();
26 TestRunner.RuntimeAgent = target.runtimeAgent();
27 TestRunner.TargetAgent = target.targetAgent();
28
29 TestRunner.networkManager = target.model(SDK.NetworkManager);
30 TestRunner.securityOriginManager = target.model(SDK.SecurityOriginManager);
31 TestRunner.resourceTreeModel = target.model(SDK.ResourceTreeModel);
32 TestRunner.debuggerModel = target.model(SDK.DebuggerModel);
33 TestRunner.runtimeModel = target.model(SDK.RuntimeModel);
34 TestRunner.domModel = target.model(SDK.DOMModel);
35 TestRunner.domDebuggerModel = target.model(SDK.DOMDebuggerModel);
36 TestRunner.cssModel = target.model(SDK.CSSModel);
37 TestRunner.cpuProfilerModel = target.model(SDK.CPUProfilerModel);
38 TestRunner.serviceWorkerManager = target.model(SDK.ServiceWorkerManager);
39 TestRunner.tracingManager = target.model(SDK.TracingManager);
40 TestRunner.mainTarget = target;
41 };
42
43 /**
44 * @param {string} code
45 * @param {!Function} callback
46 */
47 TestRunner.evaluateInPage = async function(code, callback) {
48 var response = await TestRunner.RuntimeAgent.invoke_evaluate({expression: code , objectGroup: 'console'});
49 if (!response[Protocol.Error]) {
50 TestRunner.safeWrap(callback)(
51 TestRunner.runtimeModel.createRemoteObject(response.result), response.ex ceptionDetails);
52 }
53 };
54
55 /**
56 * @param {string} code
57 * @return {!Promise<!SDK.RemoteObject>}
58 */
59 TestRunner.evaluateInPagePromise = function(code) {
60 return new Promise(success => TestRunner.evaluateInPage(code, success));
61 };
62
63 /**
64 * @param {!Function} callback
65 */
66 TestRunner.deprecatedRunAfterPendingDispatches = function(callback) {
67 var targets = SDK.targetManager.targets();
68 var promises = targets.map(target => new Promise(resolve => target._deprecated RunAfterPendingDispatches(resolve)));
69 Promise.all(promises).then(TestRunner.safeWrap(callback));
70 };
71
72 (function() {
dgozman 2017/06/19 22:55:52 We don't use iife in frontend usually.
chenwilliam 2017/06/19 23:48:17 Done.
73 /** @type {boolean} */
74 IntegrationTestRunner._startedTest = false;
75
76 /**
77 * @implements {SDK.TargetManager.Observer}
78 */
79 class TestObserver {
dgozman 2017/06/19 22:55:52 IntegrationTestRunner.TargetObserver
chenwilliam 2017/06/19 23:48:17 Done.
80 /**
81 * @param {!SDK.Target} target
82 * @override
83 */
84 targetAdded(target) {
85 if (IntegrationTestRunner._startedTest)
86 return;
87 IntegrationTestRunner._startedTest = true;
88 IntegrationTestRunner._setupTestHelpers(target);
89 TestRunner.executeTestScript();
90 }
91
92 /**
93 * @param {!SDK.Target} target
94 * @override
95 */
96 targetRemoved(target) {
97 }
98 }
99 SDK.targetManager.observeTargets(new TestObserver());
100 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698