OLD | NEW |
---|---|
(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 })(); | |
OLD | NEW |