Chromium Code Reviews| 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 /** | |
| 35 * Simulates user sign in. DevToolsBridgeClient creates | |
| 36 * background_worker only in this case. | |
| 37 */ | |
| 38 signIn: function() { | |
| 39 chrome.send('signIn', []); | |
| 40 return new Promise(function(resolve) { | |
| 41 this.callbacksMock.expects(once()).workerLoaded().will( | |
| 42 callFunction(resolve)); | |
| 43 }.bind(this)); | |
| 44 }, | |
| 45 | |
| 46 /** | |
| 47 * Creates GCD device definition with could be recognized as a DevToolsBridge. | |
|
dgozman
2014/12/22 17:08:38
typo: with -> which
SeRya
2014/12/22 17:14:42
Done.
| |
| 48 * | |
| 49 * @param {string} id GCD instance id. | |
| 50 * @param {string} displayName Display name. | |
| 51 */ | |
| 52 createInstanceDef: function(id, displayName) { | |
| 53 return { | |
| 54 'kind': 'clouddevices#device', | |
| 55 'deviceKind': 'vendor', | |
| 56 'id': id, | |
| 57 'displayName': displayName, | |
| 58 'commandDefs': { | |
| 59 'base': { | |
| 60 '_iceExchange': {'kind': 'clouddevices#commandDef'}, | |
| 61 '_renegotiate': {'kind': 'clouddevices#commandDef'}, | |
| 62 '_startSession': {'kind': 'clouddevices#commandDef'}, | |
| 63 } | |
| 64 }, | |
| 65 }; | |
| 66 } | |
| 67 }; | |
| 68 | |
| 69 /** | |
| 70 * Callbacks from native DevToolsBridgeClientBrowserTest. | |
| 71 * @constructor | |
| 72 */ | |
| 73 DevToolsBridgeClientBrowserTest.NativeCallbacks = function() {} | |
| 74 | |
| 75 DevToolsBridgeClientBrowserTest.NativeCallbacks.prototype = { | |
| 76 workerLoaded: function() {}, | |
| 77 gcdApiRequest: function(id, body) {}, | |
| 78 browserListUpdated: function(count) {}, | |
| 79 }; | |
| 80 | |
| 81 TEST_F('DevToolsBridgeClientBrowserTest', 'testSetUpOnMainThread', function() { | |
| 82 testDone(); | |
| 83 }); | |
| 84 | |
| 85 TEST_F('DevToolsBridgeClientBrowserTest', 'testSignIn', function() { | |
| 86 this.signIn().then(testDone); | |
| 87 }); | |
| 88 | |
| 89 TEST_F('DevToolsBridgeClientBrowserTest', 'testQueryBrowsers', function() { | |
| 90 this.signIn().then(function() { | |
| 91 chrome.send('queryDevices'); | |
| 92 }); | |
| 93 var savedArgs = new SaveMockArguments(); | |
| 94 this.callbacksMock.expects(once()).gcdApiRequest( | |
| 95 savedArgs.match(ANYTHING), DEVICES_URL, '').will( | |
| 96 callFunctionWithSavedArgs(savedArgs, function(id) { | |
| 97 var response = { | |
| 98 'kind': 'clouddevices#devicesListResponse', | |
| 99 'devices': [ | |
| 100 this.createInstanceDef( | |
| 101 'ab911465-83c7-e335-ea64-cb656868cbe0', 'Test 1'), | |
| 102 this.createInstanceDef( | |
| 103 'ab911465-83c7-e335-ea64-cb656868cbe1', 'Test 2'), | |
| 104 this.createInstanceDef( | |
| 105 'ab911465-83c7-e335-ea64-cb656868cbe2', 'Test 3'), | |
| 106 ], | |
| 107 }; | |
| 108 chrome.send('gcdApiResponse', [id, response]); | |
| 109 }.bind(this))); | |
| 110 | |
| 111 this.callbacksMock.expects(once()).browserListUpdated(3).will( | |
|
dgozman
2014/12/22 17:08:38
Let's make 3 a named constant, e.g. |var browsersC
SeRya
2014/12/22 17:14:42
Done.
| |
| 112 callFunction(testDone)); | |
| 113 }); | |
| OLD | NEW |