OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 "base/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
6 #include "chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energ
y_api.h" | 6 #include "chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energ
y_api.h" |
7 #include "chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energ
y_event_router.h" | 7 #include "chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energ
y_event_router.h" |
8 #include "chrome/browser/extensions/extension_apitest.h" | 8 #include "chrome/browser/extensions/extension_apitest.h" |
9 #include "chrome/browser/extensions/extension_function_test_utils.h" | 9 #include "chrome/browser/extensions/extension_function_test_utils.h" |
10 #include "chrome/browser/extensions/extension_test_message_listener.h" | 10 #include "chrome/browser/extensions/extension_test_message_listener.h" |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 catcher.RestrictToProfile(browser()->profile()); | 323 catcher.RestrictToProfile(browser()->profile()); |
324 | 324 |
325 // Load the extension and let it set up. | 325 // Load the extension and let it set up. |
326 ExtensionTestMessageListener listener("ready", true); | 326 ExtensionTestMessageListener listener("ready", true); |
327 ASSERT_TRUE(LoadExtension( | 327 ASSERT_TRUE(LoadExtension( |
328 test_data_dir_.AppendASCII("bluetooth_low_energy/service_events"))); | 328 test_data_dir_.AppendASCII("bluetooth_low_energy/service_events"))); |
329 | 329 |
330 // Cause events to be sent to the extension. | 330 // Cause events to be sent to the extension. |
331 event_router()->DeviceAdded(mock_adapter_, device0_.get()); | 331 event_router()->DeviceAdded(mock_adapter_, device0_.get()); |
332 | 332 |
| 333 // These will create the identifier mappings. |
333 event_router()->GattServiceAdded(device0_.get(), service0_.get()); | 334 event_router()->GattServiceAdded(device0_.get(), service0_.get()); |
334 event_router()->GattServiceAdded(device0_.get(), service1_.get()); | 335 event_router()->GattServiceAdded(device0_.get(), service1_.get()); |
| 336 |
| 337 // These will send the onServiceAdded event to apps. |
| 338 event_router()->GattDiscoveryCompleteForService(service0_.get()); |
| 339 event_router()->GattDiscoveryCompleteForService(service1_.get()); |
| 340 |
| 341 // This will send the onServiceChanged event to apps. |
335 event_router()->GattServiceChanged(service1_.get()); | 342 event_router()->GattServiceChanged(service1_.get()); |
| 343 |
| 344 // This will send the onServiceRemoved event to apps. |
336 event_router()->GattServiceRemoved(device0_.get(), service0_.get()); | 345 event_router()->GattServiceRemoved(device0_.get(), service0_.get()); |
337 | 346 |
338 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 347 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
339 listener.Reply("go"); | 348 listener.Reply("go"); |
340 | 349 |
341 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 350 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
342 event_router()->GattServiceRemoved(device0_.get(), service1_.get()); | 351 event_router()->GattServiceRemoved(device0_.get(), service1_.get()); |
343 event_router()->DeviceRemoved(mock_adapter_, device0_.get()); | 352 event_router()->DeviceRemoved(mock_adapter_, device0_.get()); |
344 } | 353 } |
345 | 354 |
346 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetRemovedService) { | 355 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetRemovedService) { |
347 ResultCatcher catcher; | 356 ResultCatcher catcher; |
348 catcher.RestrictToProfile(browser()->profile()); | 357 catcher.RestrictToProfile(browser()->profile()); |
349 | 358 |
350 // Load the extension and let it set up. | 359 // Load the extension and let it set up. |
351 ASSERT_TRUE(LoadExtension( | 360 ASSERT_TRUE(LoadExtension( |
352 test_data_dir_.AppendASCII("bluetooth_low_energy/get_removed_service"))); | 361 test_data_dir_.AppendASCII("bluetooth_low_energy/get_removed_service"))); |
353 | 362 |
354 // 1. getService success. | 363 // 1. getService success. |
355 EXPECT_CALL(*mock_adapter_, GetDevice(_)) | 364 EXPECT_CALL(*mock_adapter_, GetDevice(_)) |
356 .Times(1) | 365 .Times(1) |
357 .WillOnce(Return(device0_.get())); | 366 .WillOnce(Return(device0_.get())); |
358 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)) | 367 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)) |
359 .Times(1) | 368 .Times(1) |
360 .WillOnce(Return(service0_.get())); | 369 .WillOnce(Return(service0_.get())); |
361 | 370 |
362 event_router()->DeviceAdded(mock_adapter_, device0_.get()); | 371 event_router()->DeviceAdded(mock_adapter_, device0_.get()); |
363 event_router()->GattServiceAdded(device0_.get(), service0_.get()); | 372 event_router()->GattServiceAdded(device0_.get(), service0_.get()); |
| 373 event_router()->GattDiscoveryCompleteForService(service0_.get()); |
364 | 374 |
365 ExtensionTestMessageListener get_service_success_listener("getServiceSuccess", | 375 ExtensionTestMessageListener get_service_success_listener("getServiceSuccess", |
366 true); | 376 true); |
367 EXPECT_TRUE(get_service_success_listener.WaitUntilSatisfied()); | 377 EXPECT_TRUE(get_service_success_listener.WaitUntilSatisfied()); |
368 testing::Mock::VerifyAndClearExpectations(mock_adapter_); | 378 testing::Mock::VerifyAndClearExpectations(mock_adapter_); |
369 testing::Mock::VerifyAndClearExpectations(device0_.get()); | 379 testing::Mock::VerifyAndClearExpectations(device0_.get()); |
370 | 380 |
371 // 2. getService fail. | 381 // 2. getService fail. |
372 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); | 382 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); |
373 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)).Times(0); | 383 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)).Times(0); |
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1263 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1273 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
1264 event_router()->GattCharacteristicRemoved(service1_.get(), chrc2_.get()); | 1274 event_router()->GattCharacteristicRemoved(service1_.get(), chrc2_.get()); |
1265 event_router()->GattCharacteristicRemoved(service0_.get(), chrc1_.get()); | 1275 event_router()->GattCharacteristicRemoved(service0_.get(), chrc1_.get()); |
1266 event_router()->GattCharacteristicRemoved(service0_.get(), chrc0_.get()); | 1276 event_router()->GattCharacteristicRemoved(service0_.get(), chrc0_.get()); |
1267 event_router()->GattServiceRemoved(device0_.get(), service1_.get()); | 1277 event_router()->GattServiceRemoved(device0_.get(), service1_.get()); |
1268 event_router()->GattServiceRemoved(device0_.get(), service0_.get()); | 1278 event_router()->GattServiceRemoved(device0_.get(), service0_.get()); |
1269 event_router()->DeviceRemoved(mock_adapter_, device0_.get()); | 1279 event_router()->DeviceRemoved(mock_adapter_, device0_.get()); |
1270 } | 1280 } |
1271 | 1281 |
1272 } // namespace | 1282 } // namespace |
OLD | NEW |