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 "device/bluetooth/bluetooth_adapter.h" | 5 #include "device/bluetooth/bluetooth_adapter.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
888 EXPECT_EQ(2u, result.size()); | 888 EXPECT_EQ(2u, result.size()); |
889 for (const auto& pair : result) { | 889 for (const auto& pair : result) { |
890 EXPECT_TRUE(adapter_->GetDevice(pair.first->GetAddress())); | 890 EXPECT_TRUE(adapter_->GetDevice(pair.first->GetAddress())); |
891 EXPECT_TRUE(pair.second.empty()); | 891 EXPECT_TRUE(pair.second.empty()); |
892 } | 892 } |
893 EXPECT_EQ(BluetoothDevice::UUIDSet({BluetoothUUID(kTestUUIDGenericAccess)}), | 893 EXPECT_EQ(BluetoothDevice::UUIDSet({BluetoothUUID(kTestUUIDGenericAccess)}), |
894 RetrieveConnectedPeripheralServiceUUIDs()); | 894 RetrieveConnectedPeripheralServiceUUIDs()); |
895 EXPECT_EQ(2, observer.device_added_count()); | 895 EXPECT_EQ(2, observer.device_added_count()); |
896 EXPECT_EQ(2u, adapter_->GetDevices().size()); | 896 EXPECT_EQ(2u, adapter_->GetDevices().size()); |
897 } | 897 } |
| 898 #endif // defined(OS_MACOSX) |
898 | 899 |
| 900 #if defined(OS_MACOSX) |
899 // Simulate two devices being connected before calling | 901 // Simulate two devices being connected before calling |
900 // RetrieveGattConnectedDevicesWithDiscoveryFilter() with one service filter. | 902 // RetrieveGattConnectedDevicesWithDiscoveryFilter() with one service filter. |
901 TEST_F(BluetoothTest, DiscoverConnectedLowEnergyDeviceWithFilter) { | 903 TEST_F(BluetoothTest, DiscoverConnectedLowEnergyDeviceWithFilter) { |
902 if (!PlatformSupportsLowEnergy()) { | 904 if (!PlatformSupportsLowEnergy()) { |
903 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; | 905 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
904 return; | 906 return; |
905 } | 907 } |
906 InitWithFakeAdapter(); | 908 InitWithFakeAdapter(); |
907 TestBluetoothAdapterObserver observer(adapter_); | 909 TestBluetoothAdapterObserver observer(adapter_); |
908 | 910 |
(...skipping 11 matching lines...) Expand all Loading... |
920 for (const auto& pair : result) { | 922 for (const auto& pair : result) { |
921 EXPECT_EQ(kTestDeviceAddress2, pair.first->GetAddress()); | 923 EXPECT_EQ(kTestDeviceAddress2, pair.first->GetAddress()); |
922 EXPECT_TRUE(adapter_->GetDevice(pair.first->GetAddress())); | 924 EXPECT_TRUE(adapter_->GetDevice(pair.first->GetAddress())); |
923 EXPECT_EQ(BluetoothDevice::UUIDSet({heart_service_uuid}), pair.second); | 925 EXPECT_EQ(BluetoothDevice::UUIDSet({heart_service_uuid}), pair.second); |
924 } | 926 } |
925 EXPECT_EQ(BluetoothDevice::UUIDSet({heart_service_uuid}), | 927 EXPECT_EQ(BluetoothDevice::UUIDSet({heart_service_uuid}), |
926 RetrieveConnectedPeripheralServiceUUIDs()); | 928 RetrieveConnectedPeripheralServiceUUIDs()); |
927 EXPECT_EQ(1, observer.device_added_count()); | 929 EXPECT_EQ(1, observer.device_added_count()); |
928 EXPECT_EQ(1u, adapter_->GetDevices().size()); | 930 EXPECT_EQ(1u, adapter_->GetDevices().size()); |
929 } | 931 } |
| 932 #endif // defined(OS_MACOSX) |
930 | 933 |
| 934 #if defined(OS_MACOSX) |
931 // Simulate two devices being connected before calling | 935 // Simulate two devices being connected before calling |
932 // RetrieveGattConnectedDevicesWithDiscoveryFilter() with one service filter | 936 // RetrieveGattConnectedDevicesWithDiscoveryFilter() with one service filter |
933 // that doesn't match. | 937 // that doesn't match. |
934 TEST_F(BluetoothTest, DiscoverConnectedLowEnergyDeviceWithWrongFilter) { | 938 TEST_F(BluetoothTest, DiscoverConnectedLowEnergyDeviceWithWrongFilter) { |
935 if (!PlatformSupportsLowEnergy()) { | 939 if (!PlatformSupportsLowEnergy()) { |
936 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; | 940 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
937 return; | 941 return; |
938 } | 942 } |
939 InitWithFakeAdapter(); | 943 InitWithFakeAdapter(); |
940 TestBluetoothAdapterObserver observer(adapter_); | 944 TestBluetoothAdapterObserver observer(adapter_); |
941 | 945 |
942 SimulateConnectedLowEnergyDevice(ConnectedDeviceType::GENERIC_DEVICE); | 946 SimulateConnectedLowEnergyDevice(ConnectedDeviceType::GENERIC_DEVICE); |
943 SimulateConnectedLowEnergyDevice(ConnectedDeviceType::HEART_RATE_DEVICE); | 947 SimulateConnectedLowEnergyDevice(ConnectedDeviceType::HEART_RATE_DEVICE); |
944 BluetoothDiscoveryFilter discovery_filter(BLUETOOTH_TRANSPORT_LE); | 948 BluetoothDiscoveryFilter discovery_filter(BLUETOOTH_TRANSPORT_LE); |
945 discovery_filter.AddUUID(device::BluetoothUUID(kTestUUIDLinkLoss)); | 949 discovery_filter.AddUUID(device::BluetoothUUID(kTestUUIDLinkLoss)); |
946 std::unordered_map<BluetoothDevice*, BluetoothDevice::UUIDSet> result = | 950 std::unordered_map<BluetoothDevice*, BluetoothDevice::UUIDSet> result = |
947 adapter_->RetrieveGattConnectedDevicesWithDiscoveryFilter( | 951 adapter_->RetrieveGattConnectedDevicesWithDiscoveryFilter( |
948 discovery_filter); | 952 discovery_filter); |
949 | 953 |
950 EXPECT_TRUE(result.empty()); | 954 EXPECT_TRUE(result.empty()); |
951 EXPECT_EQ( | 955 EXPECT_EQ( |
952 BluetoothDevice::UUIDSet({device::BluetoothUUID(kTestUUIDLinkLoss)}), | 956 BluetoothDevice::UUIDSet({device::BluetoothUUID(kTestUUIDLinkLoss)}), |
953 RetrieveConnectedPeripheralServiceUUIDs()); | 957 RetrieveConnectedPeripheralServiceUUIDs()); |
954 EXPECT_EQ(0, observer.device_added_count()); | 958 EXPECT_EQ(0, observer.device_added_count()); |
955 EXPECT_EQ(0u, adapter_->GetDevices().size()); | 959 EXPECT_EQ(0u, adapter_->GetDevices().size()); |
956 } | 960 } |
| 961 #endif // defined(OS_MACOSX) |
957 | 962 |
| 963 #if defined(OS_MACOSX) |
958 // Simulate two devices being connected before calling | 964 // Simulate two devices being connected before calling |
959 // RetrieveGattConnectedDevicesWithDiscoveryFilter() with two service filters | 965 // RetrieveGattConnectedDevicesWithDiscoveryFilter() with two service filters |
960 // that both match. | 966 // that both match. |
961 TEST_F(BluetoothTest, DiscoverConnectedLowEnergyDeviceWithTwoFilters) { | 967 TEST_F(BluetoothTest, DiscoverConnectedLowEnergyDeviceWithTwoFilters) { |
962 if (!PlatformSupportsLowEnergy()) { | 968 if (!PlatformSupportsLowEnergy()) { |
963 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; | 969 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
964 return; | 970 return; |
965 } | 971 } |
966 InitWithFakeAdapter(); | 972 InitWithFakeAdapter(); |
967 TestBluetoothAdapterObserver observer(adapter_); | 973 TestBluetoothAdapterObserver observer(adapter_); |
(...skipping 24 matching lines...) Expand all Loading... |
992 // Unknown device. | 998 // Unknown device. |
993 EXPECT_TRUE(false); | 999 EXPECT_TRUE(false); |
994 } | 1000 } |
995 } | 1001 } |
996 EXPECT_EQ( | 1002 EXPECT_EQ( |
997 BluetoothDevice::UUIDSet({generic_service_uuid, heart_service_uuid}), | 1003 BluetoothDevice::UUIDSet({generic_service_uuid, heart_service_uuid}), |
998 RetrieveConnectedPeripheralServiceUUIDs()); | 1004 RetrieveConnectedPeripheralServiceUUIDs()); |
999 EXPECT_EQ(2, observer.device_added_count()); | 1005 EXPECT_EQ(2, observer.device_added_count()); |
1000 EXPECT_EQ(2u, adapter_->GetDevices().size()); | 1006 EXPECT_EQ(2u, adapter_->GetDevices().size()); |
1001 } | 1007 } |
| 1008 #endif // defined(OS_MACOSX) |
1002 | 1009 |
| 1010 #if defined(OS_MACOSX) |
1003 // Simulate two devices being connected before calling | 1011 // Simulate two devices being connected before calling |
1004 // RetrieveGattConnectedDevicesWithDiscoveryFilter() with one service filter | 1012 // RetrieveGattConnectedDevicesWithDiscoveryFilter() with one service filter |
1005 // that one match device, and then | 1013 // that one match device, and then |
1006 // RetrieveGattConnectedDevicesWithDiscoveryFilter() again. | 1014 // RetrieveGattConnectedDevicesWithDiscoveryFilter() again. |
1007 TEST_F(BluetoothTest, DiscoverConnectedLowEnergyDeviceTwice) { | 1015 TEST_F(BluetoothTest, DiscoverConnectedLowEnergyDeviceTwice) { |
1008 if (!PlatformSupportsLowEnergy()) { | 1016 if (!PlatformSupportsLowEnergy()) { |
1009 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; | 1017 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
1010 return; | 1018 return; |
1011 } | 1019 } |
1012 InitWithFakeAdapter(); | 1020 InitWithFakeAdapter(); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1046 } | 1054 } |
1047 EXPECT_EQ(BluetoothDevice::UUIDSet({heart_service_uuid}), | 1055 EXPECT_EQ(BluetoothDevice::UUIDSet({heart_service_uuid}), |
1048 RetrieveConnectedPeripheralServiceUUIDs()); | 1056 RetrieveConnectedPeripheralServiceUUIDs()); |
1049 | 1057 |
1050 EXPECT_EQ(0, observer.device_added_count()); | 1058 EXPECT_EQ(0, observer.device_added_count()); |
1051 EXPECT_EQ(1u, adapter_->GetDevices().size()); | 1059 EXPECT_EQ(1u, adapter_->GetDevices().size()); |
1052 } | 1060 } |
1053 #endif // defined(OS_MACOSX) | 1061 #endif // defined(OS_MACOSX) |
1054 | 1062 |
1055 } // namespace device | 1063 } // namespace device |
OLD | NEW |