Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 #ifndef CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_BLUETOOTH_ADAPTER_PROVIDER _H_ | 5 #ifndef CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_BLUETOOTH_ADAPTER_PROVIDER _H_ |
| 6 #define CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_BLUETOOTH_ADAPTER_PROVIDER _H_ | 6 #define CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_BLUETOOTH_ADAPTER_PROVIDER _H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "device/bluetooth/test/mock_bluetooth_adapter.h" | 9 #include "device/bluetooth/test/mock_bluetooth_adapter.h" |
| 10 #include "device/bluetooth/test/mock_bluetooth_device.h" | 10 #include "device/bluetooth/test/mock_bluetooth_device.h" |
| 11 #include "device/bluetooth/test/mock_bluetooth_discovery_session.h" | 11 #include "device/bluetooth/test/mock_bluetooth_discovery_session.h" |
| 12 #include "device/bluetooth/test/mock_bluetooth_gatt_characteristic.h" | 12 #include "device/bluetooth/test/mock_bluetooth_gatt_characteristic.h" |
| 13 #include "device/bluetooth/test/mock_bluetooth_gatt_notify_session.h" | |
| 13 #include "device/bluetooth/test/mock_bluetooth_gatt_service.h" | 14 #include "device/bluetooth/test/mock_bluetooth_gatt_service.h" |
| 14 | 15 |
| 15 namespace content { | 16 namespace content { |
| 16 | 17 |
| 17 // Implements fake adapters with named mock data set for use in tests as a | 18 // Implements fake adapters with named mock data set for use in tests as a |
| 18 // result of layout tests calling testRunner.setBluetoothMockDataSet. | 19 // result of layout tests calling testRunner.setBluetoothMockDataSet. |
| 19 | 20 |
| 20 // We have a complete “GenericAccessAdapter”, meaning it has a device which has | 21 // We have a complete “GenericAccessAdapter”, meaning it has a device which has |
| 21 // a Generic Access service with a Device Name characteristic with a descriptor. | 22 // a Generic Access service with a Device Name characteristic with a descriptor. |
| 22 // The other adapters are named based on their particular non-expected behavior. | 23 // The other adapters are named based on their particular non-expected behavior. |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 152 // Internal Structure: | 153 // Internal Structure: |
| 153 // - Generic Access Device | 154 // - Generic Access Device |
| 154 // - Generic Access UUID (0x1800) | 155 // - Generic Access UUID (0x1800) |
| 155 // - Generic Access Service | 156 // - Generic Access Service |
| 156 // - Device Name Characteristic: | 157 // - Device Name Characteristic: |
| 157 // - Mock Functions: | 158 // - Mock Functions: |
| 158 // - Read: Calls success callback with device's name. | 159 // - Read: Calls success callback with device's name. |
| 159 // - Write: Calls success callback. | 160 // - Write: Calls success callback. |
| 160 static scoped_refptr<testing::NiceMock<device::MockBluetoothAdapter>> | 161 static scoped_refptr<testing::NiceMock<device::MockBluetoothAdapter>> |
| 161 GetGenericAccessAdapter(); | 162 GetGenericAccessAdapter(); |
| 162 | 163 |
|
scheib
2015/10/01 22:05:23
Changing test data should have corresponding test
ortuno
2015/10/03 04:03:04
There is an issue here: https://github.com/WebBlue
| |
| 164 // |HeartRateAdapter| | |
|
scheib
2015/10/01 22:05:23
Why not use GlucoseHeartRateAdapter? For a 'normal
ortuno
2015/10/03 04:03:04
This boils down to a design decision when refactor
scheib
2015/10/04 01:35:58
I mean, why not add this implementation to Glucose
ortuno
2015/10/06 02:38:43
Added a note to the bug http://crbug.com/529975. I
| |
| 165 // Inherits from |EmptyAdapter| | |
| 166 // Internal Structure: | |
| 167 // - Heart Rate Device | |
| 168 // - Generic Access UUID (0x1800) | |
| 169 // - Heart Rate UUID (0x180D) | |
| 170 // - Heart Rate Service | |
| 171 // - Heart Rate Measurement Characteristic: | |
| 172 // - Mock Functions: | |
| 173 // - StartNotifySession: Calls success callback with a | |
| 174 // BaseGATTNotifySession(characteristic_instance_id) | |
| 175 static scoped_refptr<testing::NiceMock<device::MockBluetoothAdapter>> | |
| 176 GetHeartRateAdapter(); | |
| 177 | |
| 163 // |FailingConnectionsAdapter| | 178 // |FailingConnectionsAdapter| |
| 164 // Inherits from |EmptyAdapter| | 179 // Inherits from |EmptyAdapter| |
| 165 // FailingConnectionsAdapter holds a device for each type of connection error | 180 // FailingConnectionsAdapter holds a device for each type of connection error |
| 166 // that can occur. This way we don’t need to create an adapter for each type | 181 // that can occur. This way we don’t need to create an adapter for each type |
| 167 // of error. Each of the devices has a service with a different UUID so that | 182 // of error. Each of the devices has a service with a different UUID so that |
| 168 // they can be accessed by using different filters. | 183 // they can be accessed by using different filters. |
| 169 // See errorUUID() declaration below. | 184 // See errorUUID() declaration below. |
| 170 // Internal Structure: | 185 // Internal Structure: |
| 171 // - UnconnectableDevice(BluetoothDevice::ERROR_UNKNOWN) errorUUID(0x0) | 186 // - UnconnectableDevice(BluetoothDevice::ERROR_UNKNOWN) errorUUID(0x0) |
| 172 // - UnconnectableDevice(BluetoothDevice::ERROR_INPROGRESS) errorUUID(0x1) | 187 // - UnconnectableDevice(BluetoothDevice::ERROR_INPROGRESS) errorUUID(0x1) |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 280 // "00:00:00:00:00:02") | 295 // "00:00:00:00:00:02") |
| 281 // Adv UUIDs added: | 296 // Adv UUIDs added: |
| 282 // - Generic Access (0x1800) | 297 // - Generic Access (0x1800) |
| 283 // - Glucose UUID (0x1808) | 298 // - Glucose UUID (0x1808) |
| 284 // Services added: | 299 // Services added: |
| 285 // None. | 300 // None. |
| 286 static scoped_ptr<testing::NiceMock<device::MockBluetoothDevice>> | 301 static scoped_ptr<testing::NiceMock<device::MockBluetoothDevice>> |
| 287 GetGlucoseDevice(device::MockBluetoothAdapter* adapter); | 302 GetGlucoseDevice(device::MockBluetoothAdapter* adapter); |
| 288 | 303 |
| 289 // |HeartRateDevice| | 304 // |HeartRateDevice| |
| 290 // Inherits from |BaseDevice|(adapter, "Heart Rate Device", uuids, | 305 // Inherits from |BaseDevice|(adapter, "Heart Rate Device", uuids, |
|
scheib
2015/10/01 22:05:23
from |ConnectableDevice|
ortuno
2015/10/03 04:03:04
Done.
| |
| 291 // "00:00:00:00:00:03") | 306 // "00:00:00:00:00:03") |
| 292 // Adv UUIDs added: | 307 // Adv UUIDs added: |
| 293 // - Generic Access (0x1800) | 308 // - Generic Access (0x1800) |
| 294 // - Heart Rate UUID (0x180D) | 309 // - Heart Rate UUID (0x180D) |
| 295 // Services added: | 310 // Services added: |
| 296 // None. | 311 // None. |
| 297 static scoped_ptr<testing::NiceMock<device::MockBluetoothDevice>> | 312 static scoped_ptr<testing::NiceMock<device::MockBluetoothDevice>> |
| 298 GetHeartRateDevice(device::MockBluetoothAdapter* adapter); | 313 GetHeartRateDevice(device::MockBluetoothAdapter* adapter); |
| 299 | 314 |
| 300 // |ConnectableDevice| | 315 // |ConnectableDevice| |
| 301 // Inherits from |BaseDevice|(adapter, device_name) | 316 // Inherits from |BaseDevice|(adapter, device_name) |
| 302 // Adv UUIDs added: | 317 // Adv UUIDs added: |
| 303 // None. | 318 // None. |
| 304 // Services added: | 319 // Services added: |
| 305 // None. | 320 // None. |
| 306 // Mock Functions: | 321 // Mock Functions: |
| 307 // - CreateGattConnection: | 322 // - CreateGattConnection: |
| 308 // - Run success callback with BaseGATTConnection | 323 // - Run success callback with BaseGATTConnection |
| 309 static scoped_ptr<testing::NiceMock<device::MockBluetoothDevice>> | 324 static scoped_ptr<testing::NiceMock<device::MockBluetoothDevice>> |
| 310 GetConnectableDevice( | 325 GetConnectableDevice( |
| 311 device::MockBluetoothAdapter* adapter, | 326 device::MockBluetoothAdapter* adapter, |
| 312 const std::string& device_name = "Connectable Device", | 327 const std::string& device_name = "Connectable Device", |
| 313 device::BluetoothDevice::UUIDList = device::BluetoothDevice::UUIDList()); | 328 device::BluetoothDevice::UUIDList = device::BluetoothDevice::UUIDList(), |
| 329 const std::string& address = "00:00:00:00:00:00"); | |
| 314 | 330 |
| 315 // |UnconnectableDevice| | 331 // |UnconnectableDevice| |
| 316 // Inherits from |BaseDevice|(adapter, device_name) | 332 // Inherits from |BaseDevice|(adapter, device_name) |
| 317 // Adv UUIDs added: | 333 // Adv UUIDs added: |
| 318 // - errorUUID(error_code) | 334 // - errorUUID(error_code) |
| 319 // Services added: | 335 // Services added: |
| 320 // None. | 336 // None. |
| 321 // Mock Functions: | 337 // Mock Functions: |
| 322 // - CreateGATTConnection: | 338 // - CreateGATTConnection: |
| 323 // - Run error callback with error_type | 339 // - Run error callback with error_type |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 384 // - GetService: | 400 // - GetService: |
| 385 // Returns: service | 401 // Returns: service |
| 386 // - GetProperties: | 402 // - GetProperties: |
| 387 // Returns: NULL | 403 // Returns: NULL |
| 388 // - GetPermissions: | 404 // - GetPermissions: |
| 389 // Returns: NULL | 405 // Returns: NULL |
| 390 static scoped_ptr<testing::NiceMock<device::MockBluetoothGattCharacteristic>> | 406 static scoped_ptr<testing::NiceMock<device::MockBluetoothGattCharacteristic>> |
| 391 GetBaseGATTCharacteristic(device::MockBluetoothGattService* service, | 407 GetBaseGATTCharacteristic(device::MockBluetoothGattService* service, |
| 392 const std::string& uuid); | 408 const std::string& uuid); |
| 393 | 409 |
| 410 // Notify Sessions | |
| 411 | |
| 412 // |BaseGATTNotifySession|(characteristic_identifier) | |
| 413 // Mock Functions: | |
| 414 // - GetCharacteristicIdentifier: | |
| 415 // Returns: characteristic_identifier | |
| 416 // - IsActive: | |
| 417 // Returns: true | |
| 418 // - Stop: | |
| 419 // Run callback. | |
| 420 static scoped_ptr<testing::NiceMock<device::MockBluetoothGattNotifySession>> | |
| 421 GetBaseGATTNotifySession(const std::string& characteristic_identifier); | |
| 422 | |
| 394 // |ErrorCharacteristic|(service, error_type) | 423 // |ErrorCharacteristic|(service, error_type) |
| 395 // Inherits from BaseCharacteristic(service, errorUUID(error_type + 0xA1)) | 424 // Inherits from BaseCharacteristic(service, errorUUID(error_type + 0xA1)) |
| 396 // Descriptors added: | 425 // Descriptors added: |
| 397 // None. | 426 // None. |
| 398 // Mock Functions: | 427 // Mock Functions: |
| 399 // - ReadRemoteCharacteristic: | 428 // - ReadRemoteCharacteristic: |
| 400 // Run error callback with error_type | 429 // Run error callback with error_type |
| 401 // - WriteRemoteCharacteristic: | 430 // - WriteRemoteCharacteristic: |
| 402 // Run error callback with error_type | 431 // Run error callback with error_type |
| 432 // - StartNotifySession: | |
| 433 // Run error callback with error_type | |
| 403 static scoped_ptr<testing::NiceMock<device::MockBluetoothGattCharacteristic>> | 434 static scoped_ptr<testing::NiceMock<device::MockBluetoothGattCharacteristic>> |
| 404 GetErrorCharacteristic( | 435 GetErrorCharacteristic( |
| 405 device::MockBluetoothGattService* service, | 436 device::MockBluetoothGattService* service, |
| 406 device::BluetoothGattService::GattErrorCode error_code); | 437 device::BluetoothGattService::GattErrorCode error_code); |
| 407 | 438 |
| 408 // Helper functions: | 439 // Helper functions: |
| 409 | 440 |
| 410 // errorUUID(alias) returns a UUID with the top 32 bits of | 441 // errorUUID(alias) returns a UUID with the top 32 bits of |
| 411 // "00000000-97e5-4cd7-b9f1-f5a427670c59" replaced with the bits of |alias|. | 442 // "00000000-97e5-4cd7-b9f1-f5a427670c59" replaced with the bits of |alias|. |
| 412 // For example, errorUUID(0xDEADBEEF) returns | 443 // For example, errorUUID(0xDEADBEEF) returns |
| 413 // "deadbeef-97e5-4cd7-b9f1-f5a427670c59". The bottom 96 bits of error UUIDs | 444 // "deadbeef-97e5-4cd7-b9f1-f5a427670c59". The bottom 96 bits of error UUIDs |
| 414 // were generated as a type 4 (random) UUID. | 445 // were generated as a type 4 (random) UUID. |
| 415 static std::string errorUUID(uint32_t alias); | 446 static std::string errorUUID(uint32_t alias); |
| 416 | 447 |
| 417 // Function to turn an integer into an MAC address of the form | 448 // Function to turn an integer into an MAC address of the form |
| 418 // XX:XX:XX:XX:XX:XX. For example makeMACAddress(0xdeadbeef) | 449 // XX:XX:XX:XX:XX:XX. For example makeMACAddress(0xdeadbeef) |
| 419 // returns "00:00:DE:AD:BE:EF". | 450 // returns "00:00:DE:AD:BE:EF". |
| 420 static std::string makeMACAddress(uint64_t addr); | 451 static std::string makeMACAddress(uint64_t addr); |
| 421 }; | 452 }; |
| 422 | 453 |
| 423 } // namespace content | 454 } // namespace content |
| 424 | 455 |
| 425 #endif // CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_BLUETOOTH_ADAPTER_PROVI DER_H_ | 456 #endif // CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_BLUETOOTH_ADAPTER_PROVI DER_H_ |
| OLD | NEW |