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 |