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

Side by Side Diff: chrome/browser/extensions/api/bluetooth/bluetooth_apitest_chromeos.cc

Issue 10694106: Added support for multiple parameters to Extension API callbacks. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Synced. Created 8 years, 5 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string.h> 5 #include <string.h>
6 6
7 #include "chrome/browser/chromeos/bluetooth/bluetooth_adapter.h" 7 #include "chrome/browser/chromeos/bluetooth/bluetooth_adapter.h"
8 #include "chrome/browser/chromeos/bluetooth/test/mock_bluetooth_adapter.h" 8 #include "chrome/browser/chromeos/bluetooth/test/mock_bluetooth_adapter.h"
9 #include "chrome/browser/chromeos/bluetooth/test/mock_bluetooth_device.h" 9 #include "chrome/browser/chromeos/bluetooth/test/mock_bluetooth_device.h"
10 #include "chrome/browser/chromeos/extensions/bluetooth_event_router.h" 10 #include "chrome/browser/chromeos/extensions/bluetooth_event_router.h"
(...skipping 28 matching lines...) Expand all
39 true /* paired */, false /* bonded */, true /* connected */)); 39 true /* paired */, false /* bonded */, true /* connected */));
40 device2_.reset(new testing::NiceMock<chromeos::MockBluetoothDevice>( 40 device2_.reset(new testing::NiceMock<chromeos::MockBluetoothDevice>(
41 mock_adapter_, "d2", "21:22:23:24:25:26", 41 mock_adapter_, "d2", "21:22:23:24:25:26",
42 false /* paired */, true /* bonded */, false /* connected */)); 42 false /* paired */, true /* bonded */, false /* connected */));
43 } 43 }
44 44
45 void expectBooleanResult(bool expected, 45 void expectBooleanResult(bool expected,
46 UIThreadExtensionFunction* function, 46 UIThreadExtensionFunction* function,
47 const std::string& args) { 47 const std::string& args) {
48 scoped_ptr<base::Value> result( 48 scoped_ptr<base::Value> result(
49 utils::RunFunctionAndReturnResult(function, args, browser())); 49 utils::RunFunctionAndReturnSingleResult(function, args, browser()));
50 ASSERT_TRUE(result.get() != NULL); 50 ASSERT_TRUE(result.get() != NULL);
51 ASSERT_EQ(base::Value::TYPE_BOOLEAN, result->GetType()); 51 ASSERT_EQ(base::Value::TYPE_BOOLEAN, result->GetType());
52 bool boolean_value; 52 bool boolean_value;
53 result->GetAsBoolean(&boolean_value); 53 result->GetAsBoolean(&boolean_value);
54 EXPECT_EQ(expected, boolean_value); 54 EXPECT_EQ(expected, boolean_value);
55 } 55 }
56 56
57 template <class T> 57 template <class T>
58 T* setupFunction(T* function) { 58 T* setupFunction(T* function) {
59 function->set_extension(empty_extension_.get()); 59 function->set_extension(empty_extension_.get());
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 .WillOnce(testing::Return(false)); 144 .WillOnce(testing::Return(false));
145 EXPECT_CALL(*device2_, ProvidesServiceWithUUID("foo")) 145 EXPECT_CALL(*device2_, ProvidesServiceWithUUID("foo"))
146 .WillOnce(testing::Return(true)); 146 .WillOnce(testing::Return(true));
147 147
148 EXPECT_CALL(*mock_adapter_, GetDevices()) 148 EXPECT_CALL(*mock_adapter_, GetDevices())
149 .WillOnce(testing::Return(devices)); 149 .WillOnce(testing::Return(devices));
150 150
151 scoped_refptr<api::BluetoothGetDevicesFunction> get_devices; 151 scoped_refptr<api::BluetoothGetDevicesFunction> get_devices;
152 152
153 get_devices = setupFunction(new api::BluetoothGetDevicesFunction); 153 get_devices = setupFunction(new api::BluetoothGetDevicesFunction);
154 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnResult( 154 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
155 get_devices, 155 get_devices,
156 "[{\"uuid\":\"foo\"}]", 156 "[{\"uuid\":\"foo\"}]",
157 browser())); 157 browser()));
158 158
159 ASSERT_EQ(base::Value::TYPE_LIST, result->GetType()); 159 ASSERT_EQ(base::Value::TYPE_LIST, result->GetType());
160 base::ListValue* list; 160 base::ListValue* list;
161 ASSERT_TRUE(result->GetAsList(&list)); 161 ASSERT_TRUE(result->GetAsList(&list));
162 162
163 EXPECT_EQ(1u, list->GetSize()); 163 EXPECT_EQ(1u, list->GetSize());
164 base::Value* device_value; 164 base::Value* device_value;
(...skipping 18 matching lines...) Expand all
183 ASSERT_TRUE(device->GetBoolean("connected", &connected)); 183 ASSERT_TRUE(device->GetBoolean("connected", &connected));
184 EXPECT_FALSE(connected); 184 EXPECT_FALSE(connected);
185 185
186 // Try again with no options 186 // Try again with no options
187 testing::Mock::VerifyAndClearExpectations(mock_adapter_); 187 testing::Mock::VerifyAndClearExpectations(mock_adapter_);
188 EXPECT_CALL(*mock_adapter_, GetDevices()) 188 EXPECT_CALL(*mock_adapter_, GetDevices())
189 .WillOnce(testing::Return(devices)); 189 .WillOnce(testing::Return(devices));
190 190
191 get_devices = setupFunction(new api::BluetoothGetDevicesFunction); 191 get_devices = setupFunction(new api::BluetoothGetDevicesFunction);
192 result.reset( 192 result.reset(
193 utils::RunFunctionAndReturnResult(get_devices, "[{}]", browser())); 193 utils::RunFunctionAndReturnSingleResult(get_devices, "[{}]", browser()));
194 194
195 ASSERT_EQ(base::Value::TYPE_LIST, result->GetType()); 195 ASSERT_EQ(base::Value::TYPE_LIST, result->GetType());
196 ASSERT_TRUE(result->GetAsList(&list)); 196 ASSERT_TRUE(result->GetAsList(&list));
197 197
198 EXPECT_EQ(2u, list->GetSize()); 198 EXPECT_EQ(2u, list->GetSize());
199 } 199 }
200 200
201 IN_PROC_BROWSER_TEST_F(BluetoothApiTest, GetLocalOutOfBandPairingData) { 201 IN_PROC_BROWSER_TEST_F(BluetoothApiTest, GetLocalOutOfBandPairingData) {
202 EXPECT_CALL(*mock_adapter_, 202 EXPECT_CALL(*mock_adapter_,
203 ReadLocalOutOfBandPairingData( 203 ReadLocalOutOfBandPairingData(
204 testing::Truly(CallOutOfBandPairingDataCallback), 204 testing::Truly(CallOutOfBandPairingDataCallback),
205 testing::_)); 205 testing::_));
206 206
207 scoped_refptr<api::BluetoothGetLocalOutOfBandPairingDataFunction> 207 scoped_refptr<api::BluetoothGetLocalOutOfBandPairingDataFunction>
208 get_oob_function(setupFunction( 208 get_oob_function(setupFunction(
209 new api::BluetoothGetLocalOutOfBandPairingDataFunction)); 209 new api::BluetoothGetLocalOutOfBandPairingDataFunction));
210 210
211 scoped_ptr<base::Value> result( 211 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
212 utils::RunFunctionAndReturnResult(get_oob_function, "[]", browser())); 212 get_oob_function, "[]", browser()));
213 213
214 base::DictionaryValue* dict; 214 base::DictionaryValue* dict;
215 EXPECT_TRUE(result->GetAsDictionary(&dict)); 215 EXPECT_TRUE(result->GetAsDictionary(&dict));
216 216
217 base::BinaryValue* binary_value; 217 base::BinaryValue* binary_value;
218 EXPECT_TRUE(dict->GetBinary("hash", &binary_value)); 218 EXPECT_TRUE(dict->GetBinary("hash", &binary_value));
219 EXPECT_STREQ(kOutOfBandPairingDataHash, 219 EXPECT_STREQ(kOutOfBandPairingDataHash,
220 std::string(binary_value->GetBuffer(), binary_value->GetSize()).c_str()); 220 std::string(binary_value->GetBuffer(), binary_value->GetSize()).c_str());
221 EXPECT_TRUE(dict->GetBinary("randomizer", &binary_value)); 221 EXPECT_TRUE(dict->GetBinary("randomizer", &binary_value));
222 EXPECT_STREQ(kOutOfBandPairingDataRandomizer, 222 EXPECT_STREQ(kOutOfBandPairingDataRandomizer,
(...skipping 24 matching lines...) Expand all
247 247
248 char buf[64]; 248 char buf[64];
249 snprintf(buf, sizeof(buf), 249 snprintf(buf, sizeof(buf),
250 "[{\"deviceAddress\":\"%s\"}]", device_address.c_str()); 250 "[{\"deviceAddress\":\"%s\"}]", device_address.c_str());
251 std::string params(buf); 251 std::string params(buf);
252 252
253 scoped_refptr<api::BluetoothSetOutOfBandPairingDataFunction> set_oob_function; 253 scoped_refptr<api::BluetoothSetOutOfBandPairingDataFunction> set_oob_function;
254 set_oob_function = setupFunction( 254 set_oob_function = setupFunction(
255 new api::BluetoothSetOutOfBandPairingDataFunction); 255 new api::BluetoothSetOutOfBandPairingDataFunction);
256 // There isn't actually a result. 256 // There isn't actually a result.
257 (void)utils::RunFunctionAndReturnResult(set_oob_function, params, browser()); 257 (void)utils::RunFunctionAndReturnSingleResult(
258 set_oob_function, params, browser());
258 259
259 // Try again with an error 260 // Try again with an error
260 testing::Mock::VerifyAndClearExpectations(mock_adapter_); 261 testing::Mock::VerifyAndClearExpectations(mock_adapter_);
261 testing::Mock::VerifyAndClearExpectations(device1_.get()); 262 testing::Mock::VerifyAndClearExpectations(device1_.get());
262 EXPECT_CALL(*mock_adapter_, GetDevice(device_address)) 263 EXPECT_CALL(*mock_adapter_, GetDevice(device_address))
263 .WillOnce(testing::Return(device1_.get())); 264 .WillOnce(testing::Return(device1_.get()));
264 EXPECT_CALL(*device1_, 265 EXPECT_CALL(*device1_,
265 ClearOutOfBandPairingData(testing::_, 266 ClearOutOfBandPairingData(testing::_,
266 testing::Truly(CallClosure))); 267 testing::Truly(CallClosure)));
267 268
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 (void)utils::RunFunctionAndReturnError(start_function, "[]", browser()); 300 (void)utils::RunFunctionAndReturnError(start_function, "[]", browser());
300 301
301 // Reset to try stopping 302 // Reset to try stopping
302 testing::Mock::VerifyAndClearExpectations(mock_adapter_); 303 testing::Mock::VerifyAndClearExpectations(mock_adapter_);
303 EXPECT_CALL(*mock_adapter_, 304 EXPECT_CALL(*mock_adapter_,
304 SetDiscovering(false, 305 SetDiscovering(false,
305 testing::Truly(CallClosure), 306 testing::Truly(CallClosure),
306 testing::_)); 307 testing::_));
307 scoped_refptr<api::BluetoothStopDiscoveryFunction> stop_function; 308 scoped_refptr<api::BluetoothStopDiscoveryFunction> stop_function;
308 stop_function = setupFunction(new api::BluetoothStopDiscoveryFunction); 309 stop_function = setupFunction(new api::BluetoothStopDiscoveryFunction);
309 (void)utils::RunFunctionAndReturnResult(stop_function, "[]", browser()); 310 (void)utils::RunFunctionAndReturnSingleResult(stop_function, "[]", browser());
310 311
311 // Reset to try stopping with an error 312 // Reset to try stopping with an error
312 testing::Mock::VerifyAndClearExpectations(mock_adapter_); 313 testing::Mock::VerifyAndClearExpectations(mock_adapter_);
313 EXPECT_CALL(*mock_adapter_, 314 EXPECT_CALL(*mock_adapter_,
314 SetDiscovering(false, 315 SetDiscovering(false,
315 testing::_, 316 testing::_,
316 testing::Truly(CallClosure))); 317 testing::Truly(CallClosure)));
317 stop_function = setupFunction(new api::BluetoothStopDiscoveryFunction); 318 stop_function = setupFunction(new api::BluetoothStopDiscoveryFunction);
318 error = utils::RunFunctionAndReturnError(stop_function, "[]", browser()); 319 error = utils::RunFunctionAndReturnError(stop_function, "[]", browser());
319 ASSERT_TRUE(!error.empty()); 320 ASSERT_TRUE(!error.empty());
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 362
362 event_router()->AdapterPoweredChanged(mock_adapter_, true); 363 event_router()->AdapterPoweredChanged(mock_adapter_, true);
363 event_router()->AdapterPoweredChanged(mock_adapter_, false); 364 event_router()->AdapterPoweredChanged(mock_adapter_, false);
364 event_router()->AdapterPresentChanged(mock_adapter_, true); 365 event_router()->AdapterPresentChanged(mock_adapter_, true);
365 event_router()->AdapterPresentChanged(mock_adapter_, false); 366 event_router()->AdapterPresentChanged(mock_adapter_, false);
366 367
367 listener.Reply("go"); 368 listener.Reply("go");
368 369
369 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 370 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
370 } 371 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698