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

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

Issue 1950033002: bluetooth: mac: Initial BluetoothRemoteGattCharacteristicMac implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@servicescan_cleanup
Patch Set: Fixing the build Created 4 years, 6 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <stdint.h> 5 #include <stdint.h>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 EXPECT_EQ(expected_byte1, last_write_value_[1]); 129 EXPECT_EQ(expected_byte1, last_write_value_[1]);
130 } 130 }
131 131
132 BluetoothDevice* device_ = nullptr; 132 BluetoothDevice* device_ = nullptr;
133 BluetoothRemoteGattService* service_ = nullptr; 133 BluetoothRemoteGattService* service_ = nullptr;
134 BluetoothRemoteGattCharacteristic* characteristic1_ = nullptr; 134 BluetoothRemoteGattCharacteristic* characteristic1_ = nullptr;
135 BluetoothRemoteGattCharacteristic* characteristic2_ = nullptr; 135 BluetoothRemoteGattCharacteristic* characteristic2_ = nullptr;
136 }; 136 };
137 #endif 137 #endif
138 138
139 #if defined(OS_ANDROID) || defined(OS_WIN) 139 #if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
140 TEST_F(BluetoothRemoteGattCharacteristicTest, GetIdentifier) { 140 TEST_F(BluetoothRemoteGattCharacteristicTest, GetIdentifier) {
141 if (!PlatformSupportsLowEnergy()) {
142 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
143 return;
144 }
141 InitWithFakeAdapter(); 145 InitWithFakeAdapter();
142 StartLowEnergyDiscoverySession(); 146 StartLowEnergyDiscoverySession();
143 // 2 devices to verify unique IDs across them. 147 // 2 devices to verify unique IDs across them.
144 BluetoothDevice* device1 = SimulateLowEnergyDevice(3); 148 BluetoothDevice* device1 = SimulateLowEnergyDevice(3);
145 BluetoothDevice* device2 = SimulateLowEnergyDevice(4); 149 BluetoothDevice* device2 = SimulateLowEnergyDevice(4);
146 device1->CreateGattConnection(GetGattConnectionCallback(Call::EXPECTED), 150 device1->CreateGattConnection(GetGattConnectionCallback(Call::EXPECTED),
147 GetConnectErrorCallback(Call::NOT_EXPECTED)); 151 GetConnectErrorCallback(Call::NOT_EXPECTED));
148 device2->CreateGattConnection(GetGattConnectionCallback(Call::EXPECTED), 152 device2->CreateGattConnection(GetGattConnectionCallback(Call::EXPECTED),
149 GetConnectErrorCallback(Call::NOT_EXPECTED)); 153 GetConnectErrorCallback(Call::NOT_EXPECTED));
150 SimulateGattConnection(device1); 154 SimulateGattConnection(device1);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 194
191 EXPECT_NE(char3->GetIdentifier(), char4->GetIdentifier()); 195 EXPECT_NE(char3->GetIdentifier(), char4->GetIdentifier());
192 EXPECT_NE(char3->GetIdentifier(), char5->GetIdentifier()); 196 EXPECT_NE(char3->GetIdentifier(), char5->GetIdentifier());
193 EXPECT_NE(char3->GetIdentifier(), char6->GetIdentifier()); 197 EXPECT_NE(char3->GetIdentifier(), char6->GetIdentifier());
194 198
195 EXPECT_NE(char4->GetIdentifier(), char5->GetIdentifier()); 199 EXPECT_NE(char4->GetIdentifier(), char5->GetIdentifier());
196 EXPECT_NE(char4->GetIdentifier(), char6->GetIdentifier()); 200 EXPECT_NE(char4->GetIdentifier(), char6->GetIdentifier());
197 201
198 EXPECT_NE(char5->GetIdentifier(), char6->GetIdentifier()); 202 EXPECT_NE(char5->GetIdentifier(), char6->GetIdentifier());
199 } 203 }
200 #endif // defined(OS_ANDROID) || defined(OS_WIN) 204 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
201 205
202 #if defined(OS_ANDROID) || defined(OS_WIN) 206 #if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
203 TEST_F(BluetoothRemoteGattCharacteristicTest, GetUUID) { 207 TEST_F(BluetoothRemoteGattCharacteristicTest, GetUUID) {
208 if (!PlatformSupportsLowEnergy()) {
209 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
210 return;
211 }
204 InitWithFakeAdapter(); 212 InitWithFakeAdapter();
205 StartLowEnergyDiscoverySession(); 213 StartLowEnergyDiscoverySession();
206 BluetoothDevice* device = SimulateLowEnergyDevice(3); 214 BluetoothDevice* device = SimulateLowEnergyDevice(3);
207 device->CreateGattConnection(GetGattConnectionCallback(Call::EXPECTED), 215 device->CreateGattConnection(GetGattConnectionCallback(Call::EXPECTED),
208 GetConnectErrorCallback(Call::NOT_EXPECTED)); 216 GetConnectErrorCallback(Call::NOT_EXPECTED));
209 SimulateGattConnection(device); 217 SimulateGattConnection(device);
210 std::vector<std::string> services; 218 std::vector<std::string> services;
211 services.push_back("00000000-0000-1000-8000-00805f9b34fb"); 219 services.push_back("00000000-0000-1000-8000-00805f9b34fb");
212 SimulateGattServicesDiscovered(device, services); 220 SimulateGattServicesDiscovered(device, services);
213 BluetoothRemoteGattService* service = device->GetGattServices()[0]; 221 BluetoothRemoteGattService* service = device->GetGattServices()[0];
(...skipping 14 matching lines...) Expand all
228 if (char2->GetUUID() == uuid1) { 236 if (char2->GetUUID() == uuid1) {
229 std::swap(char1, char2); 237 std::swap(char1, char2);
230 } else if (char3->GetUUID() == uuid1) { 238 } else if (char3->GetUUID() == uuid1) {
231 std::swap(char1, char3); 239 std::swap(char1, char3);
232 } 240 }
233 241
234 EXPECT_EQ(uuid1, char1->GetUUID()); 242 EXPECT_EQ(uuid1, char1->GetUUID());
235 EXPECT_EQ(uuid2, char2->GetUUID()); 243 EXPECT_EQ(uuid2, char2->GetUUID());
236 EXPECT_EQ(uuid2, char3->GetUUID()); 244 EXPECT_EQ(uuid2, char3->GetUUID());
237 } 245 }
238 #endif // defined(OS_ANDROID) || defined(OS_WIN) 246 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
239 247
240 #if defined(OS_ANDROID) || defined(OS_WIN) 248 #if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
241 TEST_F(BluetoothRemoteGattCharacteristicTest, GetProperties) { 249 TEST_F(BluetoothRemoteGattCharacteristicTest, GetProperties) {
250 if (!PlatformSupportsLowEnergy()) {
251 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
252 return;
253 }
242 InitWithFakeAdapter(); 254 InitWithFakeAdapter();
243 StartLowEnergyDiscoverySession(); 255 StartLowEnergyDiscoverySession();
244 BluetoothDevice* device = SimulateLowEnergyDevice(3); 256 BluetoothDevice* device = SimulateLowEnergyDevice(3);
245 device->CreateGattConnection(GetGattConnectionCallback(Call::EXPECTED), 257 device->CreateGattConnection(GetGattConnectionCallback(Call::EXPECTED),
246 GetConnectErrorCallback(Call::NOT_EXPECTED)); 258 GetConnectErrorCallback(Call::NOT_EXPECTED));
247 SimulateGattConnection(device); 259 SimulateGattConnection(device);
248 std::vector<std::string> services; 260 std::vector<std::string> services;
249 std::string uuid("00000000-0000-1000-8000-00805f9b34fb"); 261 std::string uuid("00000000-0000-1000-8000-00805f9b34fb");
250 services.push_back(uuid); 262 services.push_back(uuid);
251 SimulateGattServicesDiscovered(device, services); 263 SimulateGattServicesDiscovered(device, services);
252 BluetoothRemoteGattService* service = device->GetGattServices()[0]; 264 BluetoothRemoteGattService* service = device->GetGattServices()[0];
253 265
254 // Create two characteristics with different properties: 266 // Create two characteristics with different properties:
255 SimulateGattCharacteristic(service, uuid, /* properties */ 0); 267 SimulateGattCharacteristic(service, uuid, /* properties */ 0);
256 SimulateGattCharacteristic(service, uuid, /* properties */ 7); 268 SimulateGattCharacteristic(service, uuid, /* properties */ 7);
257 269
258 // Read the properties. Because ordering is unknown swap as necessary. 270 // Read the properties. Because ordering is unknown swap as necessary.
259 int properties1 = service->GetCharacteristics()[0]->GetProperties(); 271 int properties1 = service->GetCharacteristics()[0]->GetProperties();
260 int properties2 = service->GetCharacteristics()[1]->GetProperties(); 272 int properties2 = service->GetCharacteristics()[1]->GetProperties();
261 if (properties2 == 0) 273 if (properties2 == 0)
262 std::swap(properties1, properties2); 274 std::swap(properties1, properties2);
263 EXPECT_EQ(0, properties1); 275 EXPECT_EQ(0, properties1);
264 EXPECT_EQ(7, properties2); 276 EXPECT_EQ(7, properties2);
265 } 277 }
266 #endif // defined(OS_ANDROID) || defined(OS_WIN) 278 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
267 279
268 #if defined(OS_ANDROID) || defined(OS_WIN) 280 #if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
269 // Tests GetService. 281 // Tests GetService.
270 TEST_F(BluetoothRemoteGattCharacteristicTest, GetService) { 282 TEST_F(BluetoothRemoteGattCharacteristicTest, GetService) {
283 if (!PlatformSupportsLowEnergy()) {
284 LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test.";
285 return;
286 }
271 ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate()); 287 ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate());
272 288
273 EXPECT_EQ(service_, characteristic1_->GetService()); 289 EXPECT_EQ(service_, characteristic1_->GetService());
274 EXPECT_EQ(service_, characteristic2_->GetService()); 290 EXPECT_EQ(service_, characteristic2_->GetService());
275 } 291 }
276 #endif // defined(OS_ANDROID) || defined(OS_WIN) 292 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN)
277 293
278 #if defined(OS_ANDROID) || defined(OS_WIN) 294 #if defined(OS_ANDROID) || defined(OS_WIN)
279 // Tests ReadRemoteCharacteristic and GetValue with empty value buffer. 295 // Tests ReadRemoteCharacteristic and GetValue with empty value buffer.
280 TEST_F(BluetoothRemoteGattCharacteristicTest, ReadRemoteCharacteristic_Empty) { 296 TEST_F(BluetoothRemoteGattCharacteristicTest, ReadRemoteCharacteristic_Empty) {
281 ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( 297 ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate(
282 BluetoothRemoteGattCharacteristic::PROPERTY_READ)); 298 BluetoothRemoteGattCharacteristic::PROPERTY_READ));
283 299
284 characteristic1_->ReadRemoteCharacteristic( 300 characteristic1_->ReadRemoteCharacteristic(
285 GetReadValueCallback(Call::EXPECTED), 301 GetReadValueCallback(Call::EXPECTED),
286 GetGattErrorCallback(Call::NOT_EXPECTED)); 302 GetGattErrorCallback(Call::NOT_EXPECTED));
(...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after
1224 EXPECT_EQ(1u, characteristic1_->GetDescriptorsByUUID(id2).size()); 1240 EXPECT_EQ(1u, characteristic1_->GetDescriptorsByUUID(id2).size());
1225 EXPECT_EQ(2u, characteristic2_->GetDescriptorsByUUID(id3).size()); 1241 EXPECT_EQ(2u, characteristic2_->GetDescriptorsByUUID(id3).size());
1226 1242
1227 EXPECT_EQ(0u, characteristic2_->GetDescriptorsByUUID(id1).size()); 1243 EXPECT_EQ(0u, characteristic2_->GetDescriptorsByUUID(id1).size());
1228 EXPECT_EQ(0u, characteristic2_->GetDescriptorsByUUID(id2).size()); 1244 EXPECT_EQ(0u, characteristic2_->GetDescriptorsByUUID(id2).size());
1229 EXPECT_EQ(0u, characteristic1_->GetDescriptorsByUUID(id3).size()); 1245 EXPECT_EQ(0u, characteristic1_->GetDescriptorsByUUID(id3).size());
1230 } 1246 }
1231 #endif // defined(OS_ANDROID) || defined(OS_WIN) 1247 #endif // defined(OS_ANDROID) || defined(OS_WIN)
1232 1248
1233 } // namespace device 1249 } // namespace device
OLDNEW
« no previous file with comments | « device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm ('k') | device/bluetooth/bluetooth_remote_gatt_service_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698