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

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: fix 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 OK to use private properties 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 TestRunner.consoleModel = ConsoleModel.consoleModel;
42 TestRunner.networkLog = NetworkLog.networkLog;
43 };
44
45 /**
46 * @param {string} code
47 * @param {!Function} callback
48 */
49 TestRunner.evaluateInPage = async function(code, callback) {
50 var response = await TestRunner.RuntimeAgent.invoke_evaluate({expression: code , objectGroup: 'console'});
51 if (!response[Protocol.Error]) {
52 TestRunner.safeWrap(callback)(
53 TestRunner.runtimeModel.createRemoteObject(response.result), response.ex ceptionDetails);
54 }
55 };
56
57 /**
58 * @param {string} code
59 * @return {!Promise<!SDK.RemoteObject>}
60 */
61 TestRunner.evaluateInPagePromise = function(code) {
62 return new Promise(success => TestRunner.evaluateInPage(code, success));
63 };
64
65 /**
66 * @param {!Function} callback
67 */
68 TestRunner.deprecatedRunAfterPendingDispatches = function(callback) {
69 var targets = SDK.targetManager.targets();
70 var promises = targets.map(target => new Promise(resolve => target._deprecated RunAfterPendingDispatches(resolve)));
71 Promise.all(promises).then(TestRunner.safeWrap(callback));
72 };
73
74 (function() {
75 /** @type {boolean} */
76 IntegrationTestRunner._startedTest = false;
77
78 /**
79 * @implements {SDK.TargetManager.Observer}
80 */
81 class TestObserver {
82 /**
83 * @param {!SDK.Target} target
84 * @override
85 */
86 targetAdded(target) {
87 if (IntegrationTestRunner._startedTest)
88 return;
89 IntegrationTestRunner._startedTest = true;
90 self.runtime.loadModulePromise('integration_test_runner').then(() => {
dgozman 2017/06/15 21:16:48 We are already in this module.
chenwilliam 2017/06/19 18:33:29 Yep. removed.
91 IntegrationTestRunner._setupTestHelpers(target);
92 TestRunner.executeTestScript();
93 });
94 }
95
96 /**
97 * @param {!SDK.Target} target
98 * @override
99 */
100 targetRemoved(target) {
101 }
102 }
103 SDK.targetManager.observeTargets(new TestObserver());
104 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698