Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: device/bluetooth/bluetooth_device_unittest.cc

Issue 2783733002: Bluetooth: Add service data unit tests for chromeos (Closed)
Patch Set: Incoporate comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_device.h" 5 #include "device/bluetooth/bluetooth_device.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 return; 160 return;
161 } 161 }
162 InitWithFakeAdapter(); 162 InitWithFakeAdapter();
163 StartLowEnergyDiscoverySession(); 163 StartLowEnergyDiscoverySession();
164 BluetoothDevice* device = SimulateLowEnergyDevice(3); 164 BluetoothDevice* device = SimulateLowEnergyDevice(3);
165 ASSERT_TRUE(device); 165 ASSERT_TRUE(device);
166 UUIDSet uuids = device->GetUUIDs(); 166 UUIDSet uuids = device->GetUUIDs();
167 EXPECT_EQ(0u, uuids.size()); 167 EXPECT_EQ(0u, uuids.size());
168 } 168 }
169 169
170 #if defined(OS_MACOSX) 170 #if defined(OS_MACOSX) || defined(OS_CHROMEOS)
ortuno 2017/03/30 02:58:14 Would you mind enabling this on Linux as well? Al
Miao 2017/03/30 21:20:07 Agree on this, we don't have any Chromium specific
xiaoyinh(OOO Sep 11-29) 2017/03/31 16:26:53 Done.
171 // TODO(ortuno): Enable on Android once it supports Service Data. 171 // TODO(ortuno): Enable on Android once it supports Service Data.
172 // http://crbug.com/639408 172 // http://crbug.com/639408
173 TEST_F(BluetoothTest, GetServiceDataUUIDs_GetServiceDataForUUID) { 173 TEST_F(BluetoothTest, GetServiceDataUUIDs_GetServiceDataForUUID) {
174 if (!PlatformSupportsLowEnergy()) { 174 if (!PlatformSupportsLowEnergy()) {
175 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; 175 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
176 return; 176 return;
177 } 177 }
178 InitWithFakeAdapter(); 178 InitWithFakeAdapter();
179
180 #if !defined(OS_CHROMEOS)
181 // StartLowEnergyDiscoverySession is not yet implemented on ChromeOS|bluez.
ortuno 2017/03/30 02:58:14 nit: TODO(crbug.com/706043): Remove #if once Start
xiaoyinh(OOO Sep 11-29) 2017/03/31 16:26:52 Done.
182 // http://crbug.com/706043
179 StartLowEnergyDiscoverySession(); 183 StartLowEnergyDiscoverySession();
184 #endif
180 185
181 // Receive Advertisement with service data. 186 // Receive Advertisement with service data.
182 BluetoothDevice* device = SimulateLowEnergyDevice(1); 187 BluetoothDevice* device = SimulateLowEnergyDevice(1);
183 188
184 EXPECT_EQ(ServiceDataMap({{BluetoothUUID(kTestUUIDHeartRate), {1}}}), 189 EXPECT_EQ(ServiceDataMap({{BluetoothUUID(kTestUUIDHeartRate), {1}}}),
185 device->GetServiceData()); 190 device->GetServiceData());
186 EXPECT_EQ(UUIDSet({BluetoothUUID(kTestUUIDHeartRate)}), 191 EXPECT_EQ(UUIDSet({BluetoothUUID(kTestUUIDHeartRate)}),
187 device->GetServiceDataUUIDs()); 192 device->GetServiceDataUUIDs());
188 EXPECT_EQ(std::vector<uint8_t>({1}), 193 EXPECT_EQ(std::vector<uint8_t>({1}),
189 *device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDHeartRate))); 194 *device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDHeartRate)));
190 195
191 // Receive Advertisement with no service data. 196 // Receive Advertisement with no service data.
192 SimulateLowEnergyDevice(3); 197 SimulateLowEnergyDevice(3);
Miao 2017/03/30 21:20:07 The expected outcomes of service data and UUIDs ar
xiaoyinh(OOO Sep 11-29) 2017/03/31 16:26:53 Done.
193 198
194 EXPECT_TRUE(device->GetServiceData().empty()); 199 EXPECT_TRUE(device->GetServiceData().empty());
195 EXPECT_TRUE(device->GetServiceDataUUIDs().empty()); 200 EXPECT_TRUE(device->GetServiceDataUUIDs().empty());
196 EXPECT_EQ(nullptr, 201 EXPECT_EQ(nullptr,
197 device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDHeartRate))); 202 device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDHeartRate)));
198 203
199 // Receive Advertisement with new service data. 204 // Receive Advertisement with new service data.
200 SimulateLowEnergyDevice(2); 205 SimulateLowEnergyDevice(2);
201 206
202 EXPECT_EQ(ServiceDataMap({{BluetoothUUID(kTestUUIDHeartRate), {2}}, 207 EXPECT_EQ(ServiceDataMap({{BluetoothUUID(kTestUUIDHeartRate), {}},
203 {BluetoothUUID(kTestUUIDImmediateAlert), {0}}}), 208 {BluetoothUUID(kTestUUIDImmediateAlert), {0, 2}}}),
204 device->GetServiceData()); 209 device->GetServiceData());
205 EXPECT_EQ(UUIDSet({BluetoothUUID(kTestUUIDHeartRate), 210 EXPECT_EQ(UUIDSet({BluetoothUUID(kTestUUIDHeartRate),
206 BluetoothUUID(kTestUUIDImmediateAlert)}), 211 BluetoothUUID(kTestUUIDImmediateAlert)}),
207 device->GetServiceDataUUIDs()); 212 device->GetServiceDataUUIDs());
208 EXPECT_EQ(std::vector<uint8_t>({2}), 213 EXPECT_EQ(std::vector<uint8_t>({}),
209 *device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDHeartRate))); 214 *device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDHeartRate)));
210 EXPECT_EQ( 215 EXPECT_EQ(
211 std::vector<uint8_t>({0}), 216 std::vector<uint8_t>({0, 2}),
212 *device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDImmediateAlert))); 217 *device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDImmediateAlert)));
213 218
219 #if !defined(OS_CHROMEOS)
ortuno 2017/03/30 02:58:14 TODO(crbug.com/706043): Remove #if once StartLowEn
xiaoyinh(OOO Sep 11-29) 2017/03/31 16:26:52 Done.
214 // Stop discovery. 220 // Stop discovery.
215 discovery_sessions_[0]->Stop(GetCallback(Call::EXPECTED), 221 discovery_sessions_[0]->Stop(GetCallback(Call::EXPECTED),
216 GetErrorCallback(Call::NOT_EXPECTED)); 222 GetErrorCallback(Call::NOT_EXPECTED));
217 ASSERT_FALSE(adapter_->IsDiscovering()); 223 ASSERT_FALSE(adapter_->IsDiscovering());
218 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); 224 ASSERT_FALSE(discovery_sessions_[0]->IsActive());
219 225
220 EXPECT_TRUE(device->GetServiceData().empty()); 226 EXPECT_TRUE(device->GetServiceData().empty());
221 EXPECT_TRUE(device->GetServiceDataUUIDs().empty()); 227 EXPECT_TRUE(device->GetServiceDataUUIDs().empty());
222 EXPECT_EQ(nullptr, 228 EXPECT_EQ(nullptr,
223 device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDHeartRate))); 229 device->GetServiceDataForUUID(BluetoothUUID(kTestUUIDHeartRate)));
224 EXPECT_EQ(nullptr, device->GetServiceDataForUUID( 230 EXPECT_EQ(nullptr, device->GetServiceDataForUUID(
225 BluetoothUUID(kTestUUIDImmediateAlert))); 231 BluetoothUUID(kTestUUIDImmediateAlert)));
232 #endif
226 } 233 }
227 #endif // defined(OS_MACOSX) 234 #endif // defined(OS_MACOSX)
228 235
229 #if defined(OS_ANDROID) || defined(OS_MACOSX) 236 #if defined(OS_ANDROID) || defined(OS_MACOSX)
230 // Tests that the Advertisement Data fields are correctly updated during 237 // Tests that the Advertisement Data fields are correctly updated during
231 // discovery. 238 // discovery.
232 TEST_F(BluetoothTest, AdvertisementData_Discovery) { 239 TEST_F(BluetoothTest, AdvertisementData_Discovery) {
233 if (!PlatformSupportsLowEnergy()) { 240 if (!PlatformSupportsLowEnergy()) {
234 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; 241 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
235 return; 242 return;
(...skipping 1377 matching lines...) Expand 10 before | Expand all | Expand 10 after
1613 .empty()); 1620 .empty());
1614 EXPECT_TRUE(device_ 1621 EXPECT_TRUE(device_
1615 ->GetCharacteristicsByUUID( 1622 ->GetCharacteristicsByUUID(
1616 service_instance_id2, 1623 service_instance_id2,
1617 BluetoothUUID(characteristic_uuid_not_exist_in_setup)) 1624 BluetoothUUID(characteristic_uuid_not_exist_in_setup))
1618 .empty()); 1625 .empty());
1619 } 1626 }
1620 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) 1627 #endif // defined(OS_ANDROID) || defined(OS_MACOSX)
1621 1628
1622 } // namespace device 1629 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698