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/extension_apitest.h" | 6 #include "chrome/browser/extensions/extension_apitest.h" |
7 #include "device/bluetooth/test/mock_bluetooth_adapter.h" | 7 #include "device/bluetooth/test/mock_bluetooth_adapter.h" |
8 #include "device/bluetooth/test/mock_bluetooth_device.h" | 8 #include "device/bluetooth/test/mock_bluetooth_device.h" |
9 #include "device/bluetooth/test/mock_bluetooth_gatt_characteristic.h" | 9 #include "device/bluetooth/test/mock_bluetooth_gatt_characteristic.h" |
10 #include "device/bluetooth/test/mock_bluetooth_gatt_connection.h" | 10 #include "device/bluetooth/test/mock_bluetooth_gatt_connection.h" |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 .WillOnce(Return(static_cast<BluetoothDevice*>(NULL))) | 271 .WillOnce(Return(static_cast<BluetoothDevice*>(NULL))) |
272 .WillRepeatedly(Return(device0_.get())); | 272 .WillRepeatedly(Return(device0_.get())); |
273 | 273 |
274 EXPECT_CALL(*device0_, GetGattServices()) | 274 EXPECT_CALL(*device0_, GetGattServices()) |
275 .Times(2) | 275 .Times(2) |
276 .WillOnce(Return(std::vector<BluetoothGattService*>())) | 276 .WillOnce(Return(std::vector<BluetoothGattService*>())) |
277 .WillOnce(Return(services)); | 277 .WillOnce(Return(services)); |
278 | 278 |
279 // Load and wait for setup. | 279 // Load and wait for setup. |
280 ExtensionTestMessageListener listener("ready", true); | 280 ExtensionTestMessageListener listener("ready", true); |
| 281 listener.set_failure_message("fail"); |
281 ASSERT_TRUE(LoadExtension( | 282 ASSERT_TRUE(LoadExtension( |
282 test_data_dir_.AppendASCII("bluetooth_low_energy/get_services"))); | 283 test_data_dir_.AppendASCII("bluetooth_low_energy/get_services"))); |
283 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 284 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
284 | 285 |
285 listener.Reply("go"); | 286 listener.Reply("go"); |
286 | 287 |
287 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 288 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
288 } | 289 } |
289 | 290 |
290 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetService) { | 291 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetService) { |
291 ResultCatcher catcher; | 292 ResultCatcher catcher; |
292 catcher.RestrictToBrowserContext(browser()->profile()); | 293 catcher.RestrictToBrowserContext(browser()->profile()); |
293 | 294 |
294 event_router()->GattServiceAdded( | 295 event_router()->GattServiceAdded( |
295 mock_adapter_, device0_.get(), service0_.get()); | 296 mock_adapter_, device0_.get(), service0_.get()); |
296 | 297 |
297 EXPECT_CALL(*mock_adapter_, GetDevice(_)) | 298 EXPECT_CALL(*mock_adapter_, GetDevice(_)) |
298 .Times(3) | 299 .Times(3) |
299 .WillOnce(Return(static_cast<BluetoothDevice*>(NULL))) | 300 .WillOnce(Return(static_cast<BluetoothDevice*>(NULL))) |
300 .WillRepeatedly(Return(device0_.get())); | 301 .WillRepeatedly(Return(device0_.get())); |
301 | 302 |
302 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)) | 303 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)) |
303 .Times(2) | 304 .Times(2) |
304 .WillOnce(Return(static_cast<BluetoothGattService*>(NULL))) | 305 .WillOnce(Return(static_cast<BluetoothGattService*>(NULL))) |
305 .WillOnce(Return(service0_.get())); | 306 .WillOnce(Return(service0_.get())); |
306 | 307 |
307 // Load and wait for setup. | 308 // Load and wait for setup. |
308 ExtensionTestMessageListener listener("ready", true); | 309 ExtensionTestMessageListener listener("ready", true); |
| 310 listener.set_failure_message("fail"); |
309 ASSERT_TRUE(LoadExtension( | 311 ASSERT_TRUE(LoadExtension( |
310 test_data_dir_.AppendASCII("bluetooth_low_energy/get_service"))); | 312 test_data_dir_.AppendASCII("bluetooth_low_energy/get_service"))); |
311 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 313 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
312 | 314 |
313 listener.Reply("go"); | 315 listener.Reply("go"); |
314 | 316 |
315 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 317 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
316 | 318 |
317 event_router()->GattServiceRemoved( | 319 event_router()->GattServiceRemoved( |
318 mock_adapter_, device0_.get(), service0_.get()); | 320 mock_adapter_, device0_.get(), service0_.get()); |
319 } | 321 } |
320 | 322 |
321 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, ServiceEvents) { | 323 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, ServiceEvents) { |
322 ResultCatcher catcher; | 324 ResultCatcher catcher; |
323 catcher.RestrictToBrowserContext(browser()->profile()); | 325 catcher.RestrictToBrowserContext(browser()->profile()); |
324 | 326 |
325 // Load the extension and let it set up. | 327 // Load the extension and let it set up. |
326 ExtensionTestMessageListener listener("ready", true); | 328 ExtensionTestMessageListener listener(true); |
327 ASSERT_TRUE(LoadExtension( | 329 ASSERT_TRUE(LoadExtension( |
328 test_data_dir_.AppendASCII("bluetooth_low_energy/service_events"))); | 330 test_data_dir_.AppendASCII("bluetooth_low_energy/service_events"))); |
329 | 331 |
330 // These will create the identifier mappings. | 332 // These will create the identifier mappings. |
331 event_router()->GattServiceAdded( | 333 event_router()->GattServiceAdded( |
332 mock_adapter_, device0_.get(), service0_.get()); | 334 mock_adapter_, device0_.get(), service0_.get()); |
333 event_router()->GattServiceAdded( | 335 event_router()->GattServiceAdded( |
334 mock_adapter_, device0_.get(), service1_.get()); | 336 mock_adapter_, device0_.get(), service1_.get()); |
335 | 337 |
336 // These will send the onServiceAdded event to apps. | 338 // These will send the onServiceAdded event to apps. |
337 event_router()->GattDiscoveryCompleteForService(mock_adapter_, | 339 event_router()->GattDiscoveryCompleteForService(mock_adapter_, |
338 service0_.get()); | 340 service0_.get()); |
339 event_router()->GattDiscoveryCompleteForService(mock_adapter_, | 341 event_router()->GattDiscoveryCompleteForService(mock_adapter_, |
340 service1_.get()); | 342 service1_.get()); |
341 | 343 |
342 // This will send the onServiceChanged event to apps. | 344 // This will send the onServiceChanged event to apps. |
343 event_router()->GattServiceChanged(mock_adapter_, service1_.get()); | 345 event_router()->GattServiceChanged(mock_adapter_, service1_.get()); |
344 | 346 |
345 // This will send the onServiceRemoved event to apps. | 347 // This will send the onServiceRemoved event to apps. |
346 event_router()->GattServiceRemoved( | 348 event_router()->GattServiceRemoved( |
347 mock_adapter_, device0_.get(), service0_.get()); | 349 mock_adapter_, device0_.get(), service0_.get()); |
348 | 350 |
349 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 351 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 352 ASSERT_EQ("ready", listener.message()) << listener.message(); |
350 listener.Reply("go"); | 353 listener.Reply("go"); |
351 | 354 |
352 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 355 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
353 event_router()->GattServiceRemoved( | 356 event_router()->GattServiceRemoved( |
354 mock_adapter_, device0_.get(), service1_.get()); | 357 mock_adapter_, device0_.get(), service1_.get()); |
355 } | 358 } |
356 | 359 |
357 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetRemovedService) { | 360 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetRemovedService) { |
358 ResultCatcher catcher; | 361 ResultCatcher catcher; |
359 catcher.RestrictToBrowserContext(browser()->profile()); | 362 catcher.RestrictToBrowserContext(browser()->profile()); |
360 | 363 |
361 // Load the extension and let it set up. | 364 // Load the extension and let it set up. |
362 ASSERT_TRUE(LoadExtension( | 365 ASSERT_TRUE(LoadExtension( |
363 test_data_dir_.AppendASCII("bluetooth_low_energy/get_removed_service"))); | 366 test_data_dir_.AppendASCII("bluetooth_low_energy/get_removed_service"))); |
364 | 367 |
365 // 1. getService success. | 368 // 1. getService success. |
366 EXPECT_CALL(*mock_adapter_, GetDevice(_)) | 369 EXPECT_CALL(*mock_adapter_, GetDevice(_)) |
367 .Times(1) | 370 .Times(1) |
368 .WillOnce(Return(device0_.get())); | 371 .WillOnce(Return(device0_.get())); |
369 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)) | 372 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)) |
370 .Times(1) | 373 .Times(1) |
371 .WillOnce(Return(service0_.get())); | 374 .WillOnce(Return(service0_.get())); |
372 | 375 |
373 event_router()->GattServiceAdded( | 376 event_router()->GattServiceAdded( |
374 mock_adapter_, device0_.get(), service0_.get()); | 377 mock_adapter_, device0_.get(), service0_.get()); |
375 event_router()->GattDiscoveryCompleteForService(mock_adapter_, | 378 event_router()->GattDiscoveryCompleteForService(mock_adapter_, |
376 service0_.get()); | 379 service0_.get()); |
377 | 380 |
378 ExtensionTestMessageListener get_service_success_listener("getServiceSuccess", | 381 ExtensionTestMessageListener get_service_success_listener(true); |
379 true); | |
380 EXPECT_TRUE(get_service_success_listener.WaitUntilSatisfied()); | 382 EXPECT_TRUE(get_service_success_listener.WaitUntilSatisfied()); |
| 383 ASSERT_EQ("getServiceSuccess", get_service_success_listener.message()) |
| 384 << get_service_success_listener.message(); |
381 testing::Mock::VerifyAndClearExpectations(mock_adapter_); | 385 testing::Mock::VerifyAndClearExpectations(mock_adapter_); |
382 testing::Mock::VerifyAndClearExpectations(device0_.get()); | 386 testing::Mock::VerifyAndClearExpectations(device0_.get()); |
383 | 387 |
384 // 2. getService fail. | 388 // 2. getService fail. |
385 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); | 389 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); |
386 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)).Times(0); | 390 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)).Times(0); |
387 | 391 |
388 event_router()->GattServiceRemoved( | 392 event_router()->GattServiceRemoved( |
389 mock_adapter_, device0_.get(), service0_.get()); | 393 mock_adapter_, device0_.get(), service0_.get()); |
390 | 394 |
391 ExtensionTestMessageListener get_service_fail_listener("getServiceFail", | 395 ExtensionTestMessageListener get_service_fail_listener(true); |
392 true); | |
393 EXPECT_TRUE(get_service_fail_listener.WaitUntilSatisfied()); | 396 EXPECT_TRUE(get_service_fail_listener.WaitUntilSatisfied()); |
| 397 ASSERT_EQ("getServiceFail", get_service_fail_listener.message()) |
| 398 << get_service_fail_listener.message(); |
394 testing::Mock::VerifyAndClearExpectations(mock_adapter_); | 399 testing::Mock::VerifyAndClearExpectations(mock_adapter_); |
395 testing::Mock::VerifyAndClearExpectations(device0_.get()); | 400 testing::Mock::VerifyAndClearExpectations(device0_.get()); |
396 | 401 |
397 get_service_fail_listener.Reply("go"); | 402 get_service_fail_listener.Reply("go"); |
398 | 403 |
399 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 404 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
400 } | 405 } |
401 | 406 |
402 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetIncludedServices) { | 407 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetIncludedServices) { |
403 ResultCatcher catcher; | 408 ResultCatcher catcher; |
404 catcher.RestrictToBrowserContext(browser()->profile()); | 409 catcher.RestrictToBrowserContext(browser()->profile()); |
405 | 410 |
406 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 411 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
407 "bluetooth_low_energy/get_included_services"))); | 412 "bluetooth_low_energy/get_included_services"))); |
408 | 413 |
409 // Wait for initial call to end with failure as there is no mapping. | 414 // Wait for initial call to end with failure as there is no mapping. |
410 ExtensionTestMessageListener listener("ready", true); | 415 ExtensionTestMessageListener listener("ready", true); |
| 416 listener.set_failure_message("fail"); |
411 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 417 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
412 | 418 |
413 // Set up for the rest of the calls before replying. Included services can be | 419 // Set up for the rest of the calls before replying. Included services can be |
414 // returned even if there is no instance ID mapping for them yet, so no need | 420 // returned even if there is no instance ID mapping for them yet, so no need |
415 // to call GattServiceAdded for |service1_| here. | 421 // to call GattServiceAdded for |service1_| here. |
416 event_router()->GattServiceAdded( | 422 event_router()->GattServiceAdded( |
417 mock_adapter_, device0_.get(), service0_.get()); | 423 mock_adapter_, device0_.get(), service0_.get()); |
418 | 424 |
419 std::vector<BluetoothGattService*> includes; | 425 std::vector<BluetoothGattService*> includes; |
420 includes.push_back(service1_.get()); | 426 includes.push_back(service1_.get()); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 .WillOnce(Return(static_cast<BluetoothGattService*>(NULL))) | 499 .WillOnce(Return(static_cast<BluetoothGattService*>(NULL))) |
494 .WillRepeatedly(Return(service0_.get())); | 500 .WillRepeatedly(Return(service0_.get())); |
495 | 501 |
496 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) | 502 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) |
497 .Times(2) | 503 .Times(2) |
498 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) | 504 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) |
499 .WillOnce(Return(chrc0_.get())); | 505 .WillOnce(Return(chrc0_.get())); |
500 | 506 |
501 // Load the extension and wait for first test. | 507 // Load the extension and wait for first test. |
502 ExtensionTestMessageListener listener("ready", true); | 508 ExtensionTestMessageListener listener("ready", true); |
| 509 listener.set_failure_message("fail"); |
503 ASSERT_TRUE(LoadExtension( | 510 ASSERT_TRUE(LoadExtension( |
504 test_data_dir_.AppendASCII("bluetooth_low_energy/get_characteristic"))); | 511 test_data_dir_.AppendASCII("bluetooth_low_energy/get_characteristic"))); |
505 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 512 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
506 | 513 |
507 listener.Reply("go"); | 514 listener.Reply("go"); |
508 | 515 |
509 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 516 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
510 | 517 |
511 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 518 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
512 event_router()->GattServiceRemoved( | 519 event_router()->GattServiceRemoved( |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 BluetoothGattCharacteristic::kPropertyWriteWithoutResponse | | 560 BluetoothGattCharacteristic::kPropertyWriteWithoutResponse | |
554 BluetoothGattCharacteristic::kPropertyWrite | | 561 BluetoothGattCharacteristic::kPropertyWrite | |
555 BluetoothGattCharacteristic::kPropertyNotify | | 562 BluetoothGattCharacteristic::kPropertyNotify | |
556 BluetoothGattCharacteristic::kPropertyIndicate | | 563 BluetoothGattCharacteristic::kPropertyIndicate | |
557 BluetoothGattCharacteristic::kPropertyAuthenticatedSignedWrites | | 564 BluetoothGattCharacteristic::kPropertyAuthenticatedSignedWrites | |
558 BluetoothGattCharacteristic::kPropertyExtendedProperties | | 565 BluetoothGattCharacteristic::kPropertyExtendedProperties | |
559 BluetoothGattCharacteristic::kPropertyReliableWrite | | 566 BluetoothGattCharacteristic::kPropertyReliableWrite | |
560 BluetoothGattCharacteristic::kPropertyWritableAuxiliaries)); | 567 BluetoothGattCharacteristic::kPropertyWritableAuxiliaries)); |
561 | 568 |
562 ExtensionTestMessageListener listener("ready", true); | 569 ExtensionTestMessageListener listener("ready", true); |
| 570 listener.set_failure_message("fail"); |
563 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 571 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
564 "bluetooth_low_energy/characteristic_properties"))); | 572 "bluetooth_low_energy/characteristic_properties"))); |
565 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 573 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
566 | 574 |
567 listener.Reply("go"); | 575 listener.Reply("go"); |
568 | 576 |
569 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 577 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
570 | 578 |
571 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 579 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
572 event_router()->GattServiceRemoved( | 580 event_router()->GattServiceRemoved( |
(...skipping 14 matching lines...) Expand all Loading... |
587 .Times(1) | 595 .Times(1) |
588 .WillOnce(Return(chrc0_.get())); | 596 .WillOnce(Return(chrc0_.get())); |
589 | 597 |
590 event_router()->GattServiceAdded( | 598 event_router()->GattServiceAdded( |
591 mock_adapter_, device0_.get(), service0_.get()); | 599 mock_adapter_, device0_.get(), service0_.get()); |
592 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); | 600 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); |
593 | 601 |
594 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 602 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
595 "bluetooth_low_energy/get_removed_characteristic"))); | 603 "bluetooth_low_energy/get_removed_characteristic"))); |
596 | 604 |
597 ExtensionTestMessageListener listener("ready", true); | 605 ExtensionTestMessageListener listener(true); |
598 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 606 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 607 ASSERT_EQ("ready", listener.message()) << listener.message(); |
599 testing::Mock::VerifyAndClearExpectations(mock_adapter_); | 608 testing::Mock::VerifyAndClearExpectations(mock_adapter_); |
600 testing::Mock::VerifyAndClearExpectations(device0_.get()); | 609 testing::Mock::VerifyAndClearExpectations(device0_.get()); |
601 testing::Mock::VerifyAndClearExpectations(service0_.get()); | 610 testing::Mock::VerifyAndClearExpectations(service0_.get()); |
602 | 611 |
603 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); | 612 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); |
604 EXPECT_CALL(*device0_, GetGattService(_)).Times(0); | 613 EXPECT_CALL(*device0_, GetGattService(_)).Times(0); |
605 EXPECT_CALL(*service0_, GetCharacteristic(_)).Times(0); | 614 EXPECT_CALL(*service0_, GetCharacteristic(_)).Times(0); |
606 | 615 |
607 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 616 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
608 | 617 |
609 listener.Reply("go"); | 618 listener.Reply("go"); |
610 listener.Reset(); | 619 listener.Reset(); |
611 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 620 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 621 ASSERT_EQ("ready", listener.message()) << listener.message(); |
612 | 622 |
613 listener.Reply("go"); | 623 listener.Reply("go"); |
614 | 624 |
615 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 625 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
616 event_router()->GattServiceRemoved( | 626 event_router()->GattServiceRemoved( |
617 mock_adapter_, device0_.get(), service0_.get()); | 627 mock_adapter_, device0_.get(), service0_.get()); |
618 } | 628 } |
619 | 629 |
620 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, CharacteristicValueChanged) { | 630 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, CharacteristicValueChanged) { |
621 ResultCatcher catcher; | 631 ResultCatcher catcher; |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 .Times(3) | 716 .Times(3) |
707 .WillRepeatedly(Return(chrc0_.get())); | 717 .WillRepeatedly(Return(chrc0_.get())); |
708 | 718 |
709 std::vector<uint8> value; | 719 std::vector<uint8> value; |
710 EXPECT_CALL(*chrc0_, ReadRemoteCharacteristic(_, _)) | 720 EXPECT_CALL(*chrc0_, ReadRemoteCharacteristic(_, _)) |
711 .Times(2) | 721 .Times(2) |
712 .WillOnce(InvokeCallbackArgument<1>()) | 722 .WillOnce(InvokeCallbackArgument<1>()) |
713 .WillOnce(InvokeCallbackArgument<0>(value)); | 723 .WillOnce(InvokeCallbackArgument<0>(value)); |
714 | 724 |
715 ExtensionTestMessageListener listener("ready", true); | 725 ExtensionTestMessageListener listener("ready", true); |
| 726 listener.set_failure_message("fail"); |
716 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 727 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
717 "bluetooth_low_energy/read_characteristic_value"))); | 728 "bluetooth_low_energy/read_characteristic_value"))); |
718 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 729 listener.WaitUntilSatisfied(); |
719 | 730 |
720 listener.Reply("go"); | 731 listener.Reply("go"); |
721 | 732 |
722 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 733 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
723 | 734 |
724 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 735 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
725 event_router()->GattServiceRemoved( | 736 event_router()->GattServiceRemoved( |
726 mock_adapter_, device0_.get(), service0_.get()); | 737 mock_adapter_, device0_.get(), service0_.get()); |
727 } | 738 } |
728 | 739 |
(...skipping 19 matching lines...) Expand all Loading... |
748 | 759 |
749 std::vector<uint8> write_value; | 760 std::vector<uint8> write_value; |
750 EXPECT_CALL(*chrc0_, WriteRemoteCharacteristic(_, _, _)) | 761 EXPECT_CALL(*chrc0_, WriteRemoteCharacteristic(_, _, _)) |
751 .Times(2) | 762 .Times(2) |
752 .WillOnce(InvokeCallbackArgument<2>()) | 763 .WillOnce(InvokeCallbackArgument<2>()) |
753 .WillOnce(DoAll(SaveArg<0>(&write_value), InvokeCallbackArgument<1>())); | 764 .WillOnce(DoAll(SaveArg<0>(&write_value), InvokeCallbackArgument<1>())); |
754 | 765 |
755 EXPECT_CALL(*chrc0_, GetValue()).Times(1).WillOnce(ReturnRef(write_value)); | 766 EXPECT_CALL(*chrc0_, GetValue()).Times(1).WillOnce(ReturnRef(write_value)); |
756 | 767 |
757 ExtensionTestMessageListener listener("ready", true); | 768 ExtensionTestMessageListener listener("ready", true); |
| 769 listener.set_failure_message("fail"); |
758 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 770 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
759 "bluetooth_low_energy/write_characteristic_value"))); | 771 "bluetooth_low_energy/write_characteristic_value"))); |
760 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 772 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
761 | 773 |
762 listener.Reply("go"); | 774 listener.Reply("go"); |
763 | 775 |
764 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 776 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
765 | 777 |
766 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 778 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
767 event_router()->GattServiceRemoved( | 779 event_router()->GattServiceRemoved( |
(...skipping 21 matching lines...) Expand all Loading... |
789 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) | 801 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) |
790 .Times(3) | 802 .Times(3) |
791 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) | 803 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) |
792 .WillRepeatedly(Return(chrc0_.get())); | 804 .WillRepeatedly(Return(chrc0_.get())); |
793 EXPECT_CALL(*chrc0_, GetDescriptors()) | 805 EXPECT_CALL(*chrc0_, GetDescriptors()) |
794 .Times(2) | 806 .Times(2) |
795 .WillOnce(Return(std::vector<BluetoothGattDescriptor*>())) | 807 .WillOnce(Return(std::vector<BluetoothGattDescriptor*>())) |
796 .WillOnce(Return(descriptors)); | 808 .WillOnce(Return(descriptors)); |
797 | 809 |
798 ExtensionTestMessageListener listener("ready", true); | 810 ExtensionTestMessageListener listener("ready", true); |
| 811 listener.set_failure_message("fail"); |
799 ASSERT_TRUE(LoadExtension( | 812 ASSERT_TRUE(LoadExtension( |
800 test_data_dir_.AppendASCII("bluetooth_low_energy/get_descriptors"))); | 813 test_data_dir_.AppendASCII("bluetooth_low_energy/get_descriptors"))); |
801 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 814 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
802 | 815 |
803 listener.Reply("go"); | 816 listener.Reply("go"); |
804 | 817 |
805 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 818 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
806 | 819 |
807 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 820 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
808 event_router()->GattServiceRemoved( | 821 event_router()->GattServiceRemoved( |
(...skipping 24 matching lines...) Expand all Loading... |
833 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) | 846 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) |
834 .WillRepeatedly(Return(chrc0_.get())); | 847 .WillRepeatedly(Return(chrc0_.get())); |
835 | 848 |
836 EXPECT_CALL(*chrc0_, GetDescriptor(kTestDescriptorId0)) | 849 EXPECT_CALL(*chrc0_, GetDescriptor(kTestDescriptorId0)) |
837 .Times(2) | 850 .Times(2) |
838 .WillOnce(Return(static_cast<BluetoothGattDescriptor*>(NULL))) | 851 .WillOnce(Return(static_cast<BluetoothGattDescriptor*>(NULL))) |
839 .WillOnce(Return(desc0_.get())); | 852 .WillOnce(Return(desc0_.get())); |
840 | 853 |
841 // Load the extension and wait for first test. | 854 // Load the extension and wait for first test. |
842 ExtensionTestMessageListener listener("ready", true); | 855 ExtensionTestMessageListener listener("ready", true); |
| 856 listener.set_failure_message("fail"); |
843 ASSERT_TRUE(LoadExtension( | 857 ASSERT_TRUE(LoadExtension( |
844 test_data_dir_.AppendASCII("bluetooth_low_energy/get_descriptor"))); | 858 test_data_dir_.AppendASCII("bluetooth_low_energy/get_descriptor"))); |
845 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 859 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
846 | 860 |
847 listener.Reply("go"); | 861 listener.Reply("go"); |
848 | 862 |
849 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 863 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
850 | 864 |
851 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 865 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
852 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 866 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
(...skipping 19 matching lines...) Expand all Loading... |
872 .WillOnce(Return(desc0_.get())); | 886 .WillOnce(Return(desc0_.get())); |
873 | 887 |
874 event_router()->GattServiceAdded( | 888 event_router()->GattServiceAdded( |
875 mock_adapter_, device0_.get(), service0_.get()); | 889 mock_adapter_, device0_.get(), service0_.get()); |
876 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); | 890 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); |
877 event_router()->GattDescriptorAdded(mock_adapter_, desc0_.get()); | 891 event_router()->GattDescriptorAdded(mock_adapter_, desc0_.get()); |
878 | 892 |
879 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 893 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
880 "bluetooth_low_energy/get_removed_descriptor"))); | 894 "bluetooth_low_energy/get_removed_descriptor"))); |
881 | 895 |
882 ExtensionTestMessageListener listener("ready", true); | 896 ExtensionTestMessageListener listener(true); |
883 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 897 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 898 ASSERT_EQ("ready", listener.message()) << listener.message(); |
884 testing::Mock::VerifyAndClearExpectations(mock_adapter_); | 899 testing::Mock::VerifyAndClearExpectations(mock_adapter_); |
885 testing::Mock::VerifyAndClearExpectations(device0_.get()); | 900 testing::Mock::VerifyAndClearExpectations(device0_.get()); |
886 testing::Mock::VerifyAndClearExpectations(service0_.get()); | 901 testing::Mock::VerifyAndClearExpectations(service0_.get()); |
887 testing::Mock::VerifyAndClearExpectations(chrc0_.get()); | 902 testing::Mock::VerifyAndClearExpectations(chrc0_.get()); |
888 | 903 |
889 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); | 904 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); |
890 EXPECT_CALL(*device0_, GetGattService(_)).Times(0); | 905 EXPECT_CALL(*device0_, GetGattService(_)).Times(0); |
891 EXPECT_CALL(*service0_, GetCharacteristic(_)).Times(0); | 906 EXPECT_CALL(*service0_, GetCharacteristic(_)).Times(0); |
892 EXPECT_CALL(*chrc0_, GetDescriptor(_)).Times(0); | 907 EXPECT_CALL(*chrc0_, GetDescriptor(_)).Times(0); |
893 | 908 |
894 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 909 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
895 | 910 |
896 listener.Reply("go"); | 911 listener.Reply("go"); |
897 listener.Reset(); | 912 listener.Reset(); |
898 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 913 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 914 ASSERT_EQ("ready", listener.message()) << listener.message(); |
899 | 915 |
900 listener.Reply("go"); | 916 listener.Reply("go"); |
901 | 917 |
902 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 918 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
903 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 919 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
904 event_router()->GattServiceRemoved( | 920 event_router()->GattServiceRemoved( |
905 mock_adapter_, device0_.get(), service0_.get()); | 921 mock_adapter_, device0_.get(), service0_.get()); |
906 } | 922 } |
907 | 923 |
908 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, DescriptorValueChanged) { | 924 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, DescriptorValueChanged) { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
963 .Times(3) | 979 .Times(3) |
964 .WillRepeatedly(Return(desc0_.get())); | 980 .WillRepeatedly(Return(desc0_.get())); |
965 | 981 |
966 std::vector<uint8> value; | 982 std::vector<uint8> value; |
967 EXPECT_CALL(*desc0_, ReadRemoteDescriptor(_, _)) | 983 EXPECT_CALL(*desc0_, ReadRemoteDescriptor(_, _)) |
968 .Times(2) | 984 .Times(2) |
969 .WillOnce(InvokeCallbackArgument<1>()) | 985 .WillOnce(InvokeCallbackArgument<1>()) |
970 .WillOnce(InvokeCallbackArgument<0>(value)); | 986 .WillOnce(InvokeCallbackArgument<0>(value)); |
971 | 987 |
972 ExtensionTestMessageListener listener("ready", true); | 988 ExtensionTestMessageListener listener("ready", true); |
| 989 listener.set_failure_message("fail"); |
973 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 990 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
974 "bluetooth_low_energy/read_descriptor_value"))); | 991 "bluetooth_low_energy/read_descriptor_value"))); |
975 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 992 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
976 | 993 |
977 listener.Reply("go"); | 994 listener.Reply("go"); |
978 | 995 |
979 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 996 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
980 | 997 |
981 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 998 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
982 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 999 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
(...skipping 28 matching lines...) Expand all Loading... |
1011 | 1028 |
1012 std::vector<uint8> write_value; | 1029 std::vector<uint8> write_value; |
1013 EXPECT_CALL(*desc0_, WriteRemoteDescriptor(_, _, _)) | 1030 EXPECT_CALL(*desc0_, WriteRemoteDescriptor(_, _, _)) |
1014 .Times(2) | 1031 .Times(2) |
1015 .WillOnce(InvokeCallbackArgument<2>()) | 1032 .WillOnce(InvokeCallbackArgument<2>()) |
1016 .WillOnce(DoAll(SaveArg<0>(&write_value), InvokeCallbackArgument<1>())); | 1033 .WillOnce(DoAll(SaveArg<0>(&write_value), InvokeCallbackArgument<1>())); |
1017 | 1034 |
1018 EXPECT_CALL(*desc0_, GetValue()).Times(1).WillOnce(ReturnRef(write_value)); | 1035 EXPECT_CALL(*desc0_, GetValue()).Times(1).WillOnce(ReturnRef(write_value)); |
1019 | 1036 |
1020 ExtensionTestMessageListener listener("ready", true); | 1037 ExtensionTestMessageListener listener("ready", true); |
| 1038 listener.set_failure_message("fail"); |
1021 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 1039 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
1022 "bluetooth_low_energy/write_descriptor_value"))); | 1040 "bluetooth_low_energy/write_descriptor_value"))); |
1023 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 1041 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
1024 | 1042 |
1025 listener.Reply("go"); | 1043 listener.Reply("go"); |
1026 | 1044 |
1027 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1045 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
1028 | 1046 |
1029 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 1047 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
1030 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1048 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1070 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 1088 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
1071 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1089 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
1072 event_router()->GattServiceRemoved( | 1090 event_router()->GattServiceRemoved( |
1073 mock_adapter_, device0_.get(), service0_.get()); | 1091 mock_adapter_, device0_.get(), service0_.get()); |
1074 } | 1092 } |
1075 | 1093 |
1076 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, UuidPermissionEvents) { | 1094 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, UuidPermissionEvents) { |
1077 ResultCatcher catcher; | 1095 ResultCatcher catcher; |
1078 catcher.RestrictToBrowserContext(browser()->profile()); | 1096 catcher.RestrictToBrowserContext(browser()->profile()); |
1079 | 1097 |
1080 ExtensionTestMessageListener listener("ready", true); | 1098 ExtensionTestMessageListener listener(true); |
1081 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 1099 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
1082 "bluetooth_low_energy/uuid_permission_events"))); | 1100 "bluetooth_low_energy/uuid_permission_events"))); |
1083 | 1101 |
1084 // Cause events to be sent to the extension. | 1102 // Cause events to be sent to the extension. |
1085 event_router()->GattServiceAdded( | 1103 event_router()->GattServiceAdded( |
1086 mock_adapter_, device0_.get(), service0_.get()); | 1104 mock_adapter_, device0_.get(), service0_.get()); |
1087 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); | 1105 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); |
1088 event_router()->GattDescriptorAdded(mock_adapter_, desc0_.get()); | 1106 event_router()->GattDescriptorAdded(mock_adapter_, desc0_.get()); |
1089 | 1107 |
1090 std::vector<uint8> value; | 1108 std::vector<uint8> value; |
1091 event_router()->GattCharacteristicValueChanged( | 1109 event_router()->GattCharacteristicValueChanged( |
1092 mock_adapter_, chrc0_.get(), value); | 1110 mock_adapter_, chrc0_.get(), value); |
1093 event_router()->GattDescriptorValueChanged( | 1111 event_router()->GattDescriptorValueChanged( |
1094 mock_adapter_, desc0_.get(), value); | 1112 mock_adapter_, desc0_.get(), value); |
1095 event_router()->GattServiceChanged(mock_adapter_, service0_.get()); | 1113 event_router()->GattServiceChanged(mock_adapter_, service0_.get()); |
1096 | 1114 |
1097 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 1115 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
1098 listener.Reply("go"); | 1116 listener.Reply("go"); |
1099 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1117 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 1118 ASSERT_EQ("ready", listener.message()) << listener.message(); |
1100 | 1119 |
1101 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 1120 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
1102 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1121 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
1103 event_router()->GattServiceRemoved( | 1122 event_router()->GattServiceRemoved( |
1104 mock_adapter_, device0_.get(), service0_.get()); | 1123 mock_adapter_, device0_.get(), service0_.get()); |
1105 } | 1124 } |
1106 | 1125 |
1107 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GattConnection) { | 1126 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GattConnection) { |
1108 ResultCatcher catcher; | 1127 ResultCatcher catcher; |
1109 catcher.RestrictToBrowserContext(browser()->profile()); | 1128 catcher.RestrictToBrowserContext(browser()->profile()); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1177 kTestLeDeviceAddress0); | 1196 kTestLeDeviceAddress0); |
1178 scoped_ptr<BluetoothGattConnection> conn_ptr(conn); | 1197 scoped_ptr<BluetoothGattConnection> conn_ptr(conn); |
1179 EXPECT_CALL(*conn, Disconnect(_)) | 1198 EXPECT_CALL(*conn, Disconnect(_)) |
1180 .Times(1) | 1199 .Times(1) |
1181 .WillOnce(SaveArg<0>(&disconnect_callback)); | 1200 .WillOnce(SaveArg<0>(&disconnect_callback)); |
1182 | 1201 |
1183 EXPECT_CALL(*device0_, CreateGattConnection(_, _)) | 1202 EXPECT_CALL(*device0_, CreateGattConnection(_, _)) |
1184 .Times(1) | 1203 .Times(1) |
1185 .WillOnce(SaveArg<0>(&connect_callback)); | 1204 .WillOnce(SaveArg<0>(&connect_callback)); |
1186 | 1205 |
1187 ExtensionTestMessageListener listener("ready", true); | 1206 ExtensionTestMessageListener listener(true); |
1188 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 1207 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
1189 "bluetooth_low_energy/connect_in_progress"))); | 1208 "bluetooth_low_energy/connect_in_progress"))); |
1190 | 1209 |
1191 listener.WaitUntilSatisfied(); | 1210 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 1211 ASSERT_EQ("ready", listener.message()) << listener.message(); |
1192 connect_callback.Run(conn_ptr.Pass()); | 1212 connect_callback.Run(conn_ptr.Pass()); |
1193 | 1213 |
1194 listener.Reset(); | 1214 listener.Reset(); |
1195 listener.WaitUntilSatisfied(); | 1215 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 1216 ASSERT_EQ("ready", listener.message()) << listener.message(); |
1196 disconnect_callback.Run(); | 1217 disconnect_callback.Run(); |
1197 | 1218 |
1198 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1219 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
1199 } | 1220 } |
1200 | 1221 |
1201 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, StartStopNotifications) { | 1222 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, StartStopNotifications) { |
1202 ResultCatcher catcher; | 1223 ResultCatcher catcher; |
1203 catcher.RestrictToBrowserContext(browser()->profile()); | 1224 catcher.RestrictToBrowserContext(browser()->profile()); |
1204 | 1225 |
1205 event_router()->GattServiceAdded( | 1226 event_router()->GattServiceAdded( |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1243 .WillOnce( | 1264 .WillOnce( |
1244 InvokeCallbackWithScopedPtrArg<0, BluetoothGattNotifySession>( | 1265 InvokeCallbackWithScopedPtrArg<0, BluetoothGattNotifySession>( |
1245 session0)); | 1266 session0)); |
1246 EXPECT_CALL(*chrc1_, StartNotifySession(_, _)) | 1267 EXPECT_CALL(*chrc1_, StartNotifySession(_, _)) |
1247 .Times(1) | 1268 .Times(1) |
1248 .WillOnce( | 1269 .WillOnce( |
1249 InvokeCallbackWithScopedPtrArg<0, BluetoothGattNotifySession>( | 1270 InvokeCallbackWithScopedPtrArg<0, BluetoothGattNotifySession>( |
1250 session1)); | 1271 session1)); |
1251 | 1272 |
1252 ExtensionTestMessageListener listener("ready", true); | 1273 ExtensionTestMessageListener listener("ready", true); |
| 1274 listener.set_failure_message("fail"); |
1253 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 1275 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
1254 "bluetooth_low_energy/start_stop_notifications"))); | 1276 "bluetooth_low_energy/start_stop_notifications"))); |
1255 | 1277 |
1256 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 1278 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
1257 | 1279 |
1258 std::vector<uint8> value; | 1280 std::vector<uint8> value; |
1259 event_router()->GattCharacteristicValueChanged( | 1281 event_router()->GattCharacteristicValueChanged( |
1260 mock_adapter_, chrc0_.get(), value); | 1282 mock_adapter_, chrc0_.get(), value); |
1261 event_router()->GattCharacteristicValueChanged( | 1283 event_router()->GattCharacteristicValueChanged( |
1262 mock_adapter_, chrc1_.get(), value); | 1284 mock_adapter_, chrc1_.get(), value); |
1263 event_router()->GattCharacteristicValueChanged( | 1285 event_router()->GattCharacteristicValueChanged( |
1264 mock_adapter_, chrc2_.get(), value); | 1286 mock_adapter_, chrc2_.get(), value); |
1265 | 1287 |
1266 listener.Reply("go"); | 1288 listener.Reply("go"); |
1267 | 1289 |
1268 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1290 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
1269 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc2_.get()); | 1291 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc2_.get()); |
1270 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc1_.get()); | 1292 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc1_.get()); |
1271 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1293 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
1272 event_router()->GattServiceRemoved( | 1294 event_router()->GattServiceRemoved( |
1273 mock_adapter_, device0_.get(), service1_.get()); | 1295 mock_adapter_, device0_.get(), service1_.get()); |
1274 event_router()->GattServiceRemoved( | 1296 event_router()->GattServiceRemoved( |
1275 mock_adapter_, device0_.get(), service0_.get()); | 1297 mock_adapter_, device0_.get(), service0_.get()); |
1276 } | 1298 } |
1277 | 1299 |
1278 } // namespace | 1300 } // namespace |
OLD | NEW |