Chromium Code Reviews| 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 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 270 .Times(3) | 270 .Times(3) |
| 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(true); |
| 281 ASSERT_TRUE(LoadExtension( | 281 ASSERT_TRUE(LoadExtension( |
| 282 test_data_dir_.AppendASCII("bluetooth_low_energy/get_services"))); | 282 test_data_dir_.AppendASCII("bluetooth_low_energy/get_services"))); |
| 283 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 283 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 284 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
|
armansito
2014/09/23 20:05:56
Instead of doing this, you can give an ExtensionTe
| |
| 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(true); |
| 309 ASSERT_TRUE(LoadExtension( | 310 ASSERT_TRUE(LoadExtension( |
| 310 test_data_dir_.AppendASCII("bluetooth_low_energy/get_service"))); | 311 test_data_dir_.AppendASCII("bluetooth_low_energy/get_service"))); |
| 311 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 312 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 313 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 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(true); |
| 411 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 416 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 417 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 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()); |
| 421 EXPECT_CALL(*mock_adapter_, GetDevice(kTestLeDeviceAddress0)) | 427 EXPECT_CALL(*mock_adapter_, GetDevice(kTestLeDeviceAddress0)) |
| 422 .Times(2) | 428 .Times(2) |
| 423 .WillRepeatedly(Return(device0_.get())); | 429 .WillRepeatedly(Return(device0_.get())); |
| 424 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)) | 430 EXPECT_CALL(*device0_, GetGattService(kTestServiceId0)) |
| 425 .Times(2) | 431 .Times(2) |
| 426 .WillRepeatedly(Return(service0_.get())); | 432 .WillRepeatedly(Return(service0_.get())); |
| 427 EXPECT_CALL(*service0_, GetIncludedServices()) | 433 EXPECT_CALL(*service0_, GetIncludedServices()) |
| 428 .Times(2) | 434 .Times(2) |
| 429 .WillOnce(Return(std::vector<BluetoothGattService*>())) | 435 .WillOnce(Return(std::vector<BluetoothGattService*>())) |
| 430 .WillOnce(Return(includes)); | 436 .WillOnce(Return(includes)); |
| 431 | 437 |
| 432 listener.Reply("go"); | 438 listener.Reply("go"); |
| 433 listener.Reset(); | 439 listener.Reset(); |
| 434 | 440 |
| 435 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 441 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 442 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 436 | 443 |
| 437 listener.Reply("go"); | 444 listener.Reply("go"); |
| 438 | 445 |
| 439 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 446 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 440 event_router()->GattServiceRemoved( | 447 event_router()->GattServiceRemoved( |
| 441 mock_adapter_, device0_.get(), service0_.get()); | 448 mock_adapter_, device0_.get(), service0_.get()); |
| 442 } | 449 } |
| 443 | 450 |
| 444 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetCharacteristics) { | 451 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetCharacteristics) { |
| 445 ResultCatcher catcher; | 452 ResultCatcher catcher; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 492 .Times(3) | 499 .Times(3) |
| 493 .WillOnce(Return(static_cast<BluetoothGattService*>(NULL))) | 500 .WillOnce(Return(static_cast<BluetoothGattService*>(NULL))) |
| 494 .WillRepeatedly(Return(service0_.get())); | 501 .WillRepeatedly(Return(service0_.get())); |
| 495 | 502 |
| 496 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) | 503 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) |
| 497 .Times(2) | 504 .Times(2) |
| 498 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) | 505 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) |
| 499 .WillOnce(Return(chrc0_.get())); | 506 .WillOnce(Return(chrc0_.get())); |
| 500 | 507 |
| 501 // Load the extension and wait for first test. | 508 // Load the extension and wait for first test. |
| 502 ExtensionTestMessageListener listener("ready", true); | 509 ExtensionTestMessageListener listener(true); |
| 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()); |
| 513 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 506 | 514 |
| 507 listener.Reply("go"); | 515 listener.Reply("go"); |
| 508 | 516 |
| 509 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 517 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 510 | 518 |
| 511 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 519 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 512 event_router()->GattServiceRemoved( | 520 event_router()->GattServiceRemoved( |
| 513 mock_adapter_, device0_.get(), service0_.get()); | 521 mock_adapter_, device0_.get(), service0_.get()); |
| 514 } | 522 } |
| 515 | 523 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 556 BluetoothGattCharacteristic::kPropertyIndicate | | 564 BluetoothGattCharacteristic::kPropertyIndicate | |
| 557 BluetoothGattCharacteristic::kPropertyAuthenticatedSignedWrites | | 565 BluetoothGattCharacteristic::kPropertyAuthenticatedSignedWrites | |
| 558 BluetoothGattCharacteristic::kPropertyExtendedProperties | | 566 BluetoothGattCharacteristic::kPropertyExtendedProperties | |
| 559 BluetoothGattCharacteristic::kPropertyReliableWrite | | 567 BluetoothGattCharacteristic::kPropertyReliableWrite | |
| 560 BluetoothGattCharacteristic::kPropertyWritableAuxiliaries)); | 568 BluetoothGattCharacteristic::kPropertyWritableAuxiliaries)); |
| 561 | 569 |
| 562 ExtensionTestMessageListener listener("ready", true); | 570 ExtensionTestMessageListener listener("ready", true); |
| 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()); |
| 574 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 566 | 575 |
| 567 listener.Reply("go"); | 576 listener.Reply("go"); |
| 568 | 577 |
| 569 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 578 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 570 | 579 |
| 571 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 580 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 572 event_router()->GattServiceRemoved( | 581 event_router()->GattServiceRemoved( |
| 573 mock_adapter_, device0_.get(), service0_.get()); | 582 mock_adapter_, device0_.get(), service0_.get()); |
| 574 } | 583 } |
| 575 | 584 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 587 .Times(1) | 596 .Times(1) |
| 588 .WillOnce(Return(chrc0_.get())); | 597 .WillOnce(Return(chrc0_.get())); |
| 589 | 598 |
| 590 event_router()->GattServiceAdded( | 599 event_router()->GattServiceAdded( |
| 591 mock_adapter_, device0_.get(), service0_.get()); | 600 mock_adapter_, device0_.get(), service0_.get()); |
| 592 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); | 601 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); |
| 593 | 602 |
| 594 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 603 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
| 595 "bluetooth_low_energy/get_removed_characteristic"))); | 604 "bluetooth_low_energy/get_removed_characteristic"))); |
| 596 | 605 |
| 597 ExtensionTestMessageListener listener("ready", true); | 606 ExtensionTestMessageListener listener(true); |
| 598 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 607 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 608 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 599 testing::Mock::VerifyAndClearExpectations(mock_adapter_); | 609 testing::Mock::VerifyAndClearExpectations(mock_adapter_); |
| 600 testing::Mock::VerifyAndClearExpectations(device0_.get()); | 610 testing::Mock::VerifyAndClearExpectations(device0_.get()); |
| 601 testing::Mock::VerifyAndClearExpectations(service0_.get()); | 611 testing::Mock::VerifyAndClearExpectations(service0_.get()); |
| 602 | 612 |
| 603 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); | 613 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); |
| 604 EXPECT_CALL(*device0_, GetGattService(_)).Times(0); | 614 EXPECT_CALL(*device0_, GetGattService(_)).Times(0); |
| 605 EXPECT_CALL(*service0_, GetCharacteristic(_)).Times(0); | 615 EXPECT_CALL(*service0_, GetCharacteristic(_)).Times(0); |
| 606 | 616 |
| 607 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 617 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 608 | 618 |
| 609 listener.Reply("go"); | 619 listener.Reply("go"); |
| 610 listener.Reset(); | 620 listener.Reset(); |
| 611 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 621 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 622 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 612 | 623 |
| 613 listener.Reply("go"); | 624 listener.Reply("go"); |
| 614 | 625 |
| 615 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 626 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 616 event_router()->GattServiceRemoved( | 627 event_router()->GattServiceRemoved( |
| 617 mock_adapter_, device0_.get(), service0_.get()); | 628 mock_adapter_, device0_.get(), service0_.get()); |
| 618 } | 629 } |
| 619 | 630 |
| 620 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, CharacteristicValueChanged) { | 631 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, CharacteristicValueChanged) { |
| 621 ResultCatcher catcher; | 632 ResultCatcher catcher; |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 705 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) | 716 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) |
| 706 .Times(3) | 717 .Times(3) |
| 707 .WillRepeatedly(Return(chrc0_.get())); | 718 .WillRepeatedly(Return(chrc0_.get())); |
| 708 | 719 |
| 709 std::vector<uint8> value; | 720 std::vector<uint8> value; |
| 710 EXPECT_CALL(*chrc0_, ReadRemoteCharacteristic(_, _)) | 721 EXPECT_CALL(*chrc0_, ReadRemoteCharacteristic(_, _)) |
| 711 .Times(2) | 722 .Times(2) |
| 712 .WillOnce(InvokeCallbackArgument<1>()) | 723 .WillOnce(InvokeCallbackArgument<1>()) |
| 713 .WillOnce(InvokeCallbackArgument<0>(value)); | 724 .WillOnce(InvokeCallbackArgument<0>(value)); |
| 714 | 725 |
| 715 ExtensionTestMessageListener listener("ready", true); | 726 ExtensionTestMessageListener listener(true); |
| 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(); |
| 730 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 719 | 731 |
| 720 listener.Reply("go"); | 732 listener.Reply("go"); |
| 721 | 733 |
| 722 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 734 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 723 | 735 |
| 724 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 736 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 725 event_router()->GattServiceRemoved( | 737 event_router()->GattServiceRemoved( |
| 726 mock_adapter_, device0_.get(), service0_.get()); | 738 mock_adapter_, device0_.get(), service0_.get()); |
| 727 } | 739 } |
| 728 | 740 |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 747 .WillRepeatedly(Return(chrc0_.get())); | 759 .WillRepeatedly(Return(chrc0_.get())); |
| 748 | 760 |
| 749 std::vector<uint8> write_value; | 761 std::vector<uint8> write_value; |
| 750 EXPECT_CALL(*chrc0_, WriteRemoteCharacteristic(_, _, _)) | 762 EXPECT_CALL(*chrc0_, WriteRemoteCharacteristic(_, _, _)) |
| 751 .Times(2) | 763 .Times(2) |
| 752 .WillOnce(InvokeCallbackArgument<2>()) | 764 .WillOnce(InvokeCallbackArgument<2>()) |
| 753 .WillOnce(DoAll(SaveArg<0>(&write_value), InvokeCallbackArgument<1>())); | 765 .WillOnce(DoAll(SaveArg<0>(&write_value), InvokeCallbackArgument<1>())); |
| 754 | 766 |
| 755 EXPECT_CALL(*chrc0_, GetValue()).Times(1).WillOnce(ReturnRef(write_value)); | 767 EXPECT_CALL(*chrc0_, GetValue()).Times(1).WillOnce(ReturnRef(write_value)); |
| 756 | 768 |
| 757 ExtensionTestMessageListener listener("ready", true); | 769 ExtensionTestMessageListener listener(true); |
| 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()); |
| 773 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 761 | 774 |
| 762 listener.Reply("go"); | 775 listener.Reply("go"); |
| 763 | 776 |
| 764 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 777 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 765 | 778 |
| 766 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 779 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 767 event_router()->GattServiceRemoved( | 780 event_router()->GattServiceRemoved( |
| 768 mock_adapter_, device0_.get(), service0_.get()); | 781 mock_adapter_, device0_.get(), service0_.get()); |
| 769 } | 782 } |
| 770 | 783 |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 788 .WillRepeatedly(Return(service0_.get())); | 801 .WillRepeatedly(Return(service0_.get())); |
| 789 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) | 802 EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0)) |
| 790 .Times(3) | 803 .Times(3) |
| 791 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) | 804 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) |
| 792 .WillRepeatedly(Return(chrc0_.get())); | 805 .WillRepeatedly(Return(chrc0_.get())); |
| 793 EXPECT_CALL(*chrc0_, GetDescriptors()) | 806 EXPECT_CALL(*chrc0_, GetDescriptors()) |
| 794 .Times(2) | 807 .Times(2) |
| 795 .WillOnce(Return(std::vector<BluetoothGattDescriptor*>())) | 808 .WillOnce(Return(std::vector<BluetoothGattDescriptor*>())) |
| 796 .WillOnce(Return(descriptors)); | 809 .WillOnce(Return(descriptors)); |
| 797 | 810 |
| 798 ExtensionTestMessageListener listener("ready", true); | 811 ExtensionTestMessageListener listener(true); |
| 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()); |
| 815 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 802 | 816 |
| 803 listener.Reply("go"); | 817 listener.Reply("go"); |
| 804 | 818 |
| 805 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 819 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 806 | 820 |
| 807 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 821 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 808 event_router()->GattServiceRemoved( | 822 event_router()->GattServiceRemoved( |
| 809 mock_adapter_, device0_.get(), service0_.get()); | 823 mock_adapter_, device0_.get(), service0_.get()); |
| 810 } | 824 } |
| 811 | 825 |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 832 .Times(3) | 846 .Times(3) |
| 833 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) | 847 .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL))) |
| 834 .WillRepeatedly(Return(chrc0_.get())); | 848 .WillRepeatedly(Return(chrc0_.get())); |
| 835 | 849 |
| 836 EXPECT_CALL(*chrc0_, GetDescriptor(kTestDescriptorId0)) | 850 EXPECT_CALL(*chrc0_, GetDescriptor(kTestDescriptorId0)) |
| 837 .Times(2) | 851 .Times(2) |
| 838 .WillOnce(Return(static_cast<BluetoothGattDescriptor*>(NULL))) | 852 .WillOnce(Return(static_cast<BluetoothGattDescriptor*>(NULL))) |
| 839 .WillOnce(Return(desc0_.get())); | 853 .WillOnce(Return(desc0_.get())); |
| 840 | 854 |
| 841 // Load the extension and wait for first test. | 855 // Load the extension and wait for first test. |
| 842 ExtensionTestMessageListener listener("ready", true); | 856 ExtensionTestMessageListener listener(true); |
| 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()); |
| 860 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 846 | 861 |
| 847 listener.Reply("go"); | 862 listener.Reply("go"); |
| 848 | 863 |
| 849 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 864 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 850 | 865 |
| 851 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 866 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
| 852 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 867 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 853 event_router()->GattServiceRemoved( | 868 event_router()->GattServiceRemoved( |
| 854 mock_adapter_, device0_.get(), service0_.get()); | 869 mock_adapter_, device0_.get(), service0_.get()); |
| 855 } | 870 } |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 872 .WillOnce(Return(desc0_.get())); | 887 .WillOnce(Return(desc0_.get())); |
| 873 | 888 |
| 874 event_router()->GattServiceAdded( | 889 event_router()->GattServiceAdded( |
| 875 mock_adapter_, device0_.get(), service0_.get()); | 890 mock_adapter_, device0_.get(), service0_.get()); |
| 876 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); | 891 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); |
| 877 event_router()->GattDescriptorAdded(mock_adapter_, desc0_.get()); | 892 event_router()->GattDescriptorAdded(mock_adapter_, desc0_.get()); |
| 878 | 893 |
| 879 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 894 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
| 880 "bluetooth_low_energy/get_removed_descriptor"))); | 895 "bluetooth_low_energy/get_removed_descriptor"))); |
| 881 | 896 |
| 882 ExtensionTestMessageListener listener("ready", true); | 897 ExtensionTestMessageListener listener(true); |
| 883 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 898 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 899 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 884 testing::Mock::VerifyAndClearExpectations(mock_adapter_); | 900 testing::Mock::VerifyAndClearExpectations(mock_adapter_); |
| 885 testing::Mock::VerifyAndClearExpectations(device0_.get()); | 901 testing::Mock::VerifyAndClearExpectations(device0_.get()); |
| 886 testing::Mock::VerifyAndClearExpectations(service0_.get()); | 902 testing::Mock::VerifyAndClearExpectations(service0_.get()); |
| 887 testing::Mock::VerifyAndClearExpectations(chrc0_.get()); | 903 testing::Mock::VerifyAndClearExpectations(chrc0_.get()); |
| 888 | 904 |
| 889 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); | 905 EXPECT_CALL(*mock_adapter_, GetDevice(_)).Times(0); |
| 890 EXPECT_CALL(*device0_, GetGattService(_)).Times(0); | 906 EXPECT_CALL(*device0_, GetGattService(_)).Times(0); |
| 891 EXPECT_CALL(*service0_, GetCharacteristic(_)).Times(0); | 907 EXPECT_CALL(*service0_, GetCharacteristic(_)).Times(0); |
| 892 EXPECT_CALL(*chrc0_, GetDescriptor(_)).Times(0); | 908 EXPECT_CALL(*chrc0_, GetDescriptor(_)).Times(0); |
| 893 | 909 |
| 894 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 910 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
| 895 | 911 |
| 896 listener.Reply("go"); | 912 listener.Reply("go"); |
| 897 listener.Reset(); | 913 listener.Reset(); |
| 898 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 914 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 915 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 899 | 916 |
| 900 listener.Reply("go"); | 917 listener.Reply("go"); |
| 901 | 918 |
| 902 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 919 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 903 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 920 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 904 event_router()->GattServiceRemoved( | 921 event_router()->GattServiceRemoved( |
| 905 mock_adapter_, device0_.get(), service0_.get()); | 922 mock_adapter_, device0_.get(), service0_.get()); |
| 906 } | 923 } |
| 907 | 924 |
| 908 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, DescriptorValueChanged) { | 925 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, DescriptorValueChanged) { |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 962 EXPECT_CALL(*chrc0_, GetDescriptor(kTestDescriptorId0)) | 979 EXPECT_CALL(*chrc0_, GetDescriptor(kTestDescriptorId0)) |
| 963 .Times(3) | 980 .Times(3) |
| 964 .WillRepeatedly(Return(desc0_.get())); | 981 .WillRepeatedly(Return(desc0_.get())); |
| 965 | 982 |
| 966 std::vector<uint8> value; | 983 std::vector<uint8> value; |
| 967 EXPECT_CALL(*desc0_, ReadRemoteDescriptor(_, _)) | 984 EXPECT_CALL(*desc0_, ReadRemoteDescriptor(_, _)) |
| 968 .Times(2) | 985 .Times(2) |
| 969 .WillOnce(InvokeCallbackArgument<1>()) | 986 .WillOnce(InvokeCallbackArgument<1>()) |
| 970 .WillOnce(InvokeCallbackArgument<0>(value)); | 987 .WillOnce(InvokeCallbackArgument<0>(value)); |
| 971 | 988 |
| 972 ExtensionTestMessageListener listener("ready", true); | 989 ExtensionTestMessageListener listener(true); |
| 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()); |
| 993 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 976 | 994 |
| 977 listener.Reply("go"); | 995 listener.Reply("go"); |
| 978 | 996 |
| 979 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 997 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 980 | 998 |
| 981 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 999 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
| 982 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1000 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 983 event_router()->GattServiceRemoved( | 1001 event_router()->GattServiceRemoved( |
| 984 mock_adapter_, device0_.get(), service0_.get()); | 1002 mock_adapter_, device0_.get(), service0_.get()); |
| 985 } | 1003 } |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 1010 .WillRepeatedly(Return(desc0_.get())); | 1028 .WillRepeatedly(Return(desc0_.get())); |
| 1011 | 1029 |
| 1012 std::vector<uint8> write_value; | 1030 std::vector<uint8> write_value; |
| 1013 EXPECT_CALL(*desc0_, WriteRemoteDescriptor(_, _, _)) | 1031 EXPECT_CALL(*desc0_, WriteRemoteDescriptor(_, _, _)) |
| 1014 .Times(2) | 1032 .Times(2) |
| 1015 .WillOnce(InvokeCallbackArgument<2>()) | 1033 .WillOnce(InvokeCallbackArgument<2>()) |
| 1016 .WillOnce(DoAll(SaveArg<0>(&write_value), InvokeCallbackArgument<1>())); | 1034 .WillOnce(DoAll(SaveArg<0>(&write_value), InvokeCallbackArgument<1>())); |
| 1017 | 1035 |
| 1018 EXPECT_CALL(*desc0_, GetValue()).Times(1).WillOnce(ReturnRef(write_value)); | 1036 EXPECT_CALL(*desc0_, GetValue()).Times(1).WillOnce(ReturnRef(write_value)); |
| 1019 | 1037 |
| 1020 ExtensionTestMessageListener listener("ready", true); | 1038 ExtensionTestMessageListener listener(true); |
| 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()); |
| 1042 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 1024 | 1043 |
| 1025 listener.Reply("go"); | 1044 listener.Reply("go"); |
| 1026 | 1045 |
| 1027 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1046 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 1028 | 1047 |
| 1029 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 1048 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
| 1030 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1049 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 1031 event_router()->GattServiceRemoved( | 1050 event_router()->GattServiceRemoved( |
| 1032 mock_adapter_, device0_.get(), service0_.get()); | 1051 mock_adapter_, device0_.get(), service0_.get()); |
| 1033 } | 1052 } |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1070 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 1089 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
| 1071 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1090 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 1072 event_router()->GattServiceRemoved( | 1091 event_router()->GattServiceRemoved( |
| 1073 mock_adapter_, device0_.get(), service0_.get()); | 1092 mock_adapter_, device0_.get(), service0_.get()); |
| 1074 } | 1093 } |
| 1075 | 1094 |
| 1076 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, UuidPermissionEvents) { | 1095 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, UuidPermissionEvents) { |
| 1077 ResultCatcher catcher; | 1096 ResultCatcher catcher; |
| 1078 catcher.RestrictToBrowserContext(browser()->profile()); | 1097 catcher.RestrictToBrowserContext(browser()->profile()); |
| 1079 | 1098 |
| 1080 ExtensionTestMessageListener listener("ready", true); | 1099 ExtensionTestMessageListener listener(true); |
| 1081 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 1100 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
| 1082 "bluetooth_low_energy/uuid_permission_events"))); | 1101 "bluetooth_low_energy/uuid_permission_events"))); |
| 1083 | 1102 |
| 1084 // Cause events to be sent to the extension. | 1103 // Cause events to be sent to the extension. |
| 1085 event_router()->GattServiceAdded( | 1104 event_router()->GattServiceAdded( |
| 1086 mock_adapter_, device0_.get(), service0_.get()); | 1105 mock_adapter_, device0_.get(), service0_.get()); |
| 1087 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); | 1106 event_router()->GattCharacteristicAdded(mock_adapter_, chrc0_.get()); |
| 1088 event_router()->GattDescriptorAdded(mock_adapter_, desc0_.get()); | 1107 event_router()->GattDescriptorAdded(mock_adapter_, desc0_.get()); |
| 1089 | 1108 |
| 1090 std::vector<uint8> value; | 1109 std::vector<uint8> value; |
| 1091 event_router()->GattCharacteristicValueChanged( | 1110 event_router()->GattCharacteristicValueChanged( |
| 1092 mock_adapter_, chrc0_.get(), value); | 1111 mock_adapter_, chrc0_.get(), value); |
| 1093 event_router()->GattDescriptorValueChanged( | 1112 event_router()->GattDescriptorValueChanged( |
| 1094 mock_adapter_, desc0_.get(), value); | 1113 mock_adapter_, desc0_.get(), value); |
| 1095 event_router()->GattServiceChanged(mock_adapter_, service0_.get()); | 1114 event_router()->GattServiceChanged(mock_adapter_, service0_.get()); |
| 1096 | 1115 |
| 1097 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 1116 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 1098 listener.Reply("go"); | 1117 listener.Reply("go"); |
| 1099 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1118 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 1119 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 1100 | 1120 |
| 1101 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); | 1121 event_router()->GattDescriptorRemoved(mock_adapter_, desc0_.get()); |
| 1102 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1122 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 1103 event_router()->GattServiceRemoved( | 1123 event_router()->GattServiceRemoved( |
| 1104 mock_adapter_, device0_.get(), service0_.get()); | 1124 mock_adapter_, device0_.get(), service0_.get()); |
| 1105 } | 1125 } |
| 1106 | 1126 |
| 1107 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GattConnection) { | 1127 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GattConnection) { |
| 1108 ResultCatcher catcher; | 1128 ResultCatcher catcher; |
| 1109 catcher.RestrictToBrowserContext(browser()->profile()); | 1129 catcher.RestrictToBrowserContext(browser()->profile()); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1177 kTestLeDeviceAddress0); | 1197 kTestLeDeviceAddress0); |
| 1178 scoped_ptr<BluetoothGattConnection> conn_ptr(conn); | 1198 scoped_ptr<BluetoothGattConnection> conn_ptr(conn); |
| 1179 EXPECT_CALL(*conn, Disconnect(_)) | 1199 EXPECT_CALL(*conn, Disconnect(_)) |
| 1180 .Times(1) | 1200 .Times(1) |
| 1181 .WillOnce(SaveArg<0>(&disconnect_callback)); | 1201 .WillOnce(SaveArg<0>(&disconnect_callback)); |
| 1182 | 1202 |
| 1183 EXPECT_CALL(*device0_, CreateGattConnection(_, _)) | 1203 EXPECT_CALL(*device0_, CreateGattConnection(_, _)) |
| 1184 .Times(1) | 1204 .Times(1) |
| 1185 .WillOnce(SaveArg<0>(&connect_callback)); | 1205 .WillOnce(SaveArg<0>(&connect_callback)); |
| 1186 | 1206 |
| 1187 ExtensionTestMessageListener listener("ready", true); | 1207 ExtensionTestMessageListener listener(true); |
| 1188 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( | 1208 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII( |
| 1189 "bluetooth_low_energy/connect_in_progress"))); | 1209 "bluetooth_low_energy/connect_in_progress"))); |
| 1190 | 1210 |
| 1191 listener.WaitUntilSatisfied(); | 1211 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 1212 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 1192 connect_callback.Run(conn_ptr.Pass()); | 1213 connect_callback.Run(conn_ptr.Pass()); |
| 1193 | 1214 |
| 1194 listener.Reset(); | 1215 listener.Reset(); |
| 1195 listener.WaitUntilSatisfied(); | 1216 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 1217 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 1196 disconnect_callback.Run(); | 1218 disconnect_callback.Run(); |
| 1197 | 1219 |
| 1198 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1220 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 1199 } | 1221 } |
| 1200 | 1222 |
| 1201 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, StartStopNotifications) { | 1223 IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, StartStopNotifications) { |
| 1202 ResultCatcher catcher; | 1224 ResultCatcher catcher; |
| 1203 catcher.RestrictToBrowserContext(browser()->profile()); | 1225 catcher.RestrictToBrowserContext(browser()->profile()); |
| 1204 | 1226 |
| 1205 event_router()->GattServiceAdded( | 1227 event_router()->GattServiceAdded( |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1242 .WillOnce(InvokeCallbackArgument<1>()) | 1264 .WillOnce(InvokeCallbackArgument<1>()) |
| 1243 .WillOnce( | 1265 .WillOnce( |
| 1244 InvokeCallbackWithScopedPtrArg<0, BluetoothGattNotifySession>( | 1266 InvokeCallbackWithScopedPtrArg<0, BluetoothGattNotifySession>( |
| 1245 session0)); | 1267 session0)); |
| 1246 EXPECT_CALL(*chrc1_, StartNotifySession(_, _)) | 1268 EXPECT_CALL(*chrc1_, StartNotifySession(_, _)) |
| 1247 .Times(1) | 1269 .Times(1) |
| 1248 .WillOnce( | 1270 .WillOnce( |
| 1249 InvokeCallbackWithScopedPtrArg<0, BluetoothGattNotifySession>( | 1271 InvokeCallbackWithScopedPtrArg<0, BluetoothGattNotifySession>( |
| 1250 session1)); | 1272 session1)); |
| 1251 | 1273 |
| 1252 ExtensionTestMessageListener listener("ready", true); | 1274 ExtensionTestMessageListener listener(true); |
| 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()); |
| 1279 ASSERT_EQ("ready", listener.message()) << listener.message(); | |
| 1257 | 1280 |
| 1258 std::vector<uint8> value; | 1281 std::vector<uint8> value; |
| 1259 event_router()->GattCharacteristicValueChanged( | 1282 event_router()->GattCharacteristicValueChanged( |
| 1260 mock_adapter_, chrc0_.get(), value); | 1283 mock_adapter_, chrc0_.get(), value); |
| 1261 event_router()->GattCharacteristicValueChanged( | 1284 event_router()->GattCharacteristicValueChanged( |
| 1262 mock_adapter_, chrc1_.get(), value); | 1285 mock_adapter_, chrc1_.get(), value); |
| 1263 event_router()->GattCharacteristicValueChanged( | 1286 event_router()->GattCharacteristicValueChanged( |
| 1264 mock_adapter_, chrc2_.get(), value); | 1287 mock_adapter_, chrc2_.get(), value); |
| 1265 | 1288 |
| 1266 listener.Reply("go"); | 1289 listener.Reply("go"); |
| 1267 | 1290 |
| 1268 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 1291 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 1269 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc2_.get()); | 1292 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc2_.get()); |
| 1270 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc1_.get()); | 1293 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc1_.get()); |
| 1271 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); | 1294 event_router()->GattCharacteristicRemoved(mock_adapter_, chrc0_.get()); |
| 1272 event_router()->GattServiceRemoved( | 1295 event_router()->GattServiceRemoved( |
| 1273 mock_adapter_, device0_.get(), service1_.get()); | 1296 mock_adapter_, device0_.get(), service1_.get()); |
| 1274 event_router()->GattServiceRemoved( | 1297 event_router()->GattServiceRemoved( |
| 1275 mock_adapter_, device0_.get(), service0_.get()); | 1298 mock_adapter_, device0_.get(), service0_.get()); |
| 1276 } | 1299 } |
| 1277 | 1300 |
| 1278 } // namespace | 1301 } // namespace |
| OLD | NEW |