OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 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 GEN('#include "chrome/browser/devtools/device/webrtc/' + | |
6 'devtools_bridge_client_browsertest.h"'); | |
7 | |
8 /** | |
9 * Test fixture for DevToolsBridgeClientBrowserTest. | |
10 * @constructor | |
11 * @extends {testing.Test} | |
12 */ | |
13 function DevToolsBridgeClientBrowserTest() {} | |
14 | |
15 var DEVICES_URL = "https://www.googleapis.com/clouddevices/v1/devices"; | |
16 | |
17 DevToolsBridgeClientBrowserTest.prototype = { | |
18 __proto__: testing.Test.prototype, | |
19 | |
20 /** @override */ | |
21 typedefCppFixture: 'DevToolsBridgeClientBrowserTest', | |
22 | |
23 /** @override */ | |
24 isAsync: true, | |
25 | |
26 /** @override */ | |
27 browsePreload: DUMMY_URL, | |
28 | |
29 setUp: function() { | |
30 this.callbacksMock = mock(DevToolsBridgeClientBrowserTest.NativeCallbacks); | |
31 window.callbacks = this.callbacksMock.proxy(); | |
32 }, | |
33 | |
34 signIn: function() { | |
35 return new Promise(function(resolve) { | |
36 this.callbacksMock.expects(once()).workerLoaded().will( | |
37 callFunction(resolve)); | |
38 }.bind(this)); | |
39 }, | |
40 | |
41 createInstanceDef: function(id, displayName) { | |
dgozman
2014/12/22 16:38:21
JSDoc?
SeRya
2014/12/22 17:00:14
Done.
| |
42 return { | |
43 'kind': 'clouddevices#device', | |
44 'deviceKind': 'vendor', | |
45 'id': id, | |
46 'displayName': displayName, | |
47 'commandDefs': { | |
48 'base': { | |
49 '_iceExchange': {'kind': 'clouddevices#commandDef'}, | |
50 '_renegotiate': {'kind': 'clouddevices#commandDef'}, | |
51 '_startSession': {'kind': 'clouddevices#commandDef'}, | |
52 } | |
53 }, | |
54 }; | |
55 } | |
56 }; | |
57 | |
58 /** | |
59 * Callbacks from native DevToolsBridgeClientBrowserTest. | |
60 * @constructor | |
61 */ | |
62 DevToolsBridgeClientBrowserTest.NativeCallbacks = function() {} | |
63 | |
64 DevToolsBridgeClientBrowserTest.NativeCallbacks.prototype = { | |
65 workerLoaded: function() {}, | |
66 request: function(id, body) {}, | |
dgozman
2014/12/22 16:38:21
gcdApiRequest
SeRya
2014/12/22 17:00:15
Done.
| |
67 browserListUpdated: function(count) {}, | |
68 }; | |
69 | |
70 TEST_F('DevToolsBridgeClientBrowserTest', 'testSetUpOnMainThread', function() { | |
71 testDone(); | |
72 }); | |
73 | |
74 TEST_F('DevToolsBridgeClientBrowserTest', 'testSignIn', function() { | |
75 chrome.send('signIn', []); | |
76 this.signIn().then(testDone); | |
77 }); | |
78 | |
79 TEST_F('DevToolsBridgeClientBrowserTest', 'testQueryBrowsers', function() { | |
80 chrome.send('signIn', []); | |
dgozman
2014/12/22 16:38:21
Move this to signIn method.
SeRya
2014/12/22 17:00:15
Done.
| |
81 this.signIn().then(function() { | |
82 chrome.send('queryDevices'); | |
83 }); | |
84 var savedArgs = new SaveMockArguments(); | |
85 this.callbacksMock.expects(once()).request( | |
86 savedArgs.match(ANYTHING), DEVICES_URL, '').will( | |
87 callFunctionWithSavedArgs(savedArgs, function(id) { | |
88 var response = { | |
89 'kind': 'clouddevices#devicesListResponse', | |
90 'devices': [ | |
91 this.createInstanceDef( | |
92 'ab911465-83c7-e335-ea64-cb656868cbe0', 'Test 1'), | |
93 this.createInstanceDef( | |
94 'ab911465-83c7-e335-ea64-cb656868cbe1', 'Test 2'), | |
95 this.createInstanceDef( | |
96 'ab911465-83c7-e335-ea64-cb656868cbe2', 'Test 3'), | |
97 ], | |
98 }; | |
99 chrome.send('response', [id, response]); | |
dgozman
2014/12/22 16:38:21
gcdApiResponse
SeRya
2014/12/22 17:00:15
Done.
| |
100 }.bind(this))); | |
101 | |
102 this.callbacksMock.expects(once()).browserListUpdated(3).will( | |
103 callFunction(testDone)); | |
104 }); | |
OLD | NEW |