| 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/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/memory/ref_counted.h" | 6 #include "base/memory/ref_counted.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "device/bluetooth/bluetooth_adapter.h" | 8 #include "device/bluetooth/bluetooth_adapter.h" |
| 9 #include "device/bluetooth/bluetooth_device.h" | 9 #include "device/bluetooth/bluetooth_device.h" |
| 10 #include "device/bluetooth/bluetooth_discovery_session.h" | 10 #include "device/bluetooth/bluetooth_discovery_session.h" |
| (...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 BluetoothUUID(kTestUUIDImmediateAlert))); | 539 BluetoothUUID(kTestUUIDImmediateAlert))); |
| 540 | 540 |
| 541 // Discover same device again with updated UUIDs: | 541 // Discover same device again with updated UUIDs: |
| 542 observer.Reset(); | 542 observer.Reset(); |
| 543 DiscoverLowEnergyDevice(2); | 543 DiscoverLowEnergyDevice(2); |
| 544 EXPECT_EQ(0, observer.device_added_count()); | 544 EXPECT_EQ(0, observer.device_added_count()); |
| 545 EXPECT_EQ(1, observer.device_changed_count()); | 545 EXPECT_EQ(1, observer.device_changed_count()); |
| 546 EXPECT_EQ(1u, adapter_->GetDevices().size()); | 546 EXPECT_EQ(1u, adapter_->GetDevices().size()); |
| 547 EXPECT_EQ(device, observer.last_device()); | 547 EXPECT_EQ(device, observer.last_device()); |
| 548 | 548 |
| 549 // Expect new UUIDs: | 549 // Expect new AND old UUIDs: |
| 550 EXPECT_FALSE( | 550 EXPECT_TRUE( |
| 551 ContainsValue(device->GetUUIDs(), BluetoothUUID(kTestUUIDGenericAccess))); | 551 ContainsValue(device->GetUUIDs(), BluetoothUUID(kTestUUIDGenericAccess))); |
| 552 EXPECT_TRUE(ContainsValue(device->GetUUIDs(), | 552 EXPECT_TRUE(ContainsValue(device->GetUUIDs(), |
| 553 BluetoothUUID(kTestUUIDImmediateAlert))); | 553 BluetoothUUID(kTestUUIDImmediateAlert))); |
| 554 | 554 |
| 555 // Discover same device again with empty UUIDs: | 555 // Discover same device again with empty UUIDs: |
| 556 observer.Reset(); | 556 observer.Reset(); |
| 557 DiscoverLowEnergyDevice(3); | 557 DiscoverLowEnergyDevice(3); |
| 558 EXPECT_EQ(0, observer.device_added_count()); | 558 EXPECT_EQ(0, observer.device_added_count()); |
| 559 #if defined(OS_MACOSX) |
| 560 // TODO(scheib): Call DeviceChanged only if UUIDs change. crbug.com/547106 |
| 559 EXPECT_EQ(1, observer.device_changed_count()); | 561 EXPECT_EQ(1, observer.device_changed_count()); |
| 562 #else |
| 563 EXPECT_EQ(0, observer.device_changed_count()); |
| 564 #endif |
| 560 EXPECT_EQ(1u, adapter_->GetDevices().size()); | 565 EXPECT_EQ(1u, adapter_->GetDevices().size()); |
| 561 EXPECT_EQ(device, observer.last_device()); | |
| 562 | 566 |
| 563 // Expect empty UUIDs: | 567 // Expect all UUIDs: |
| 564 EXPECT_EQ(0u, device->GetUUIDs().size()); | 568 EXPECT_EQ(4u, device->GetUUIDs().size()); |
| 565 } | 569 } |
| 566 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) | 570 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) |
| 567 | 571 |
| 568 #if defined(OS_ANDROID) || defined(OS_MACOSX) | 572 #if defined(OS_ANDROID) || defined(OS_MACOSX) |
| 569 // Discovers multiple devices when addresses vary. | 573 // Discovers multiple devices when addresses vary. |
| 570 TEST_F(BluetoothTest, DiscoverMultipleLowEnergyDevices) { | 574 TEST_F(BluetoothTest, DiscoverMultipleLowEnergyDevices) { |
| 571 if (!PlatformSupportsLowEnergy()) { | 575 if (!PlatformSupportsLowEnergy()) { |
| 572 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; | 576 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
| 573 return; | 577 return; |
| 574 } | 578 } |
| 575 InitWithFakeAdapter(); | 579 InitWithFakeAdapter(); |
| 576 TestBluetoothAdapterObserver observer(adapter_); | 580 TestBluetoothAdapterObserver observer(adapter_); |
| 577 | 581 |
| 578 // Start discovery and find a device. | 582 // Start discovery and find a device. |
| 579 StartLowEnergyDiscoverySession(); | 583 StartLowEnergyDiscoverySession(); |
| 580 DiscoverLowEnergyDevice(1); | 584 DiscoverLowEnergyDevice(1); |
| 581 DiscoverLowEnergyDevice(4); | 585 DiscoverLowEnergyDevice(4); |
| 582 EXPECT_EQ(2, observer.device_added_count()); | 586 EXPECT_EQ(2, observer.device_added_count()); |
| 583 EXPECT_EQ(2u, adapter_->GetDevices().size()); | 587 EXPECT_EQ(2u, adapter_->GetDevices().size()); |
| 584 } | 588 } |
| 585 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) | 589 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) |
| 586 | 590 |
| 587 } // namespace device | 591 } // namespace device |
| OLD | NEW |