| Index: content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
|
| diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc b/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
|
| index 3c3dda085ed562654e58879c000ca5d54eca2361..7f3563fe98c6fe9414363da271b42ac815098454 100644
|
| --- a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
|
| +++ b/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
|
| @@ -23,6 +23,7 @@ using device::BluetoothUUID;
|
| using device::MockBluetoothAdapter;
|
| using device::MockBluetoothDevice;
|
| using device::MockBluetoothDiscoverySession;
|
| +using device::MockBluetoothGattCharacteristic;
|
| using device::MockBluetoothGattConnection;
|
| using device::MockBluetoothGattService;
|
| using testing::Between;
|
| @@ -64,7 +65,8 @@ ACTION_P(GetMockDevice, adapter) {
|
| }
|
| return NULL;
|
| }
|
| -}
|
| +
|
| +} // namespace
|
|
|
| namespace content {
|
|
|
| @@ -174,10 +176,18 @@ LayoutTestBluetoothAdapterProvider::GetEmptyDevice(
|
| list.push_back(BluetoothUUID("1801"));
|
| ON_CALL(*empty_device, GetUUIDs()).WillByDefault(Return(list));
|
|
|
| - empty_device->AddMockService(
|
| - GetMockService(empty_device.get(), "1800" /* Generic Access */));
|
| - empty_device->AddMockService(
|
| - GetMockService(empty_device.get(), "1801" /* Generic Attribute */));
|
| + scoped_ptr<NiceMock<MockBluetoothGattService>> generic_access(
|
| + GetGattService(empty_device.get(), "1800" /* Generic Access */));
|
| + generic_access->AddMockCharacteristic(
|
| + GetGattCharacteristic(generic_access.get(), "2A00" /* Device Name */));
|
| +
|
| + scoped_ptr<NiceMock<MockBluetoothGattService>> generic_attribute(
|
| + GetGattService(empty_device.get(), "1801" /* Generic Attribute */));
|
| + generic_attribute->AddMockCharacteristic(GetGattCharacteristic(
|
| + generic_attribute.get(), "2A05" /* Service Changed */));
|
| +
|
| + empty_device->AddMockService(generic_access.Pass());
|
| + empty_device->AddMockService(generic_attribute.Pass());
|
|
|
| // Using Invoke allows the device returned from this method to be futher
|
| // modified and have more services added to it. The call to ::GetGattServices
|
| @@ -187,6 +197,13 @@ LayoutTestBluetoothAdapterProvider::GetEmptyDevice(
|
| .WillByDefault(
|
| Invoke(empty_device.get(), &MockBluetoothDevice::GetMockServices));
|
|
|
| + // The call to BluetoothDevice::GetGattService will invoke ::GetMockService
|
| + // which returns a service matching the identifier provided if the service
|
| + // was added to the mock.
|
| + ON_CALL(*empty_device, GetGattService(_))
|
| + .WillByDefault(
|
| + Invoke(empty_device.get(), &MockBluetoothDevice::GetMockService));
|
| +
|
| return empty_device.Pass();
|
| }
|
|
|
| @@ -223,11 +240,27 @@ LayoutTestBluetoothAdapterProvider::GetUnconnectableDevice(
|
|
|
| // static
|
| scoped_ptr<NiceMock<MockBluetoothGattService>>
|
| -LayoutTestBluetoothAdapterProvider::GetMockService(MockBluetoothDevice* device,
|
| +LayoutTestBluetoothAdapterProvider::GetGattService(MockBluetoothDevice* device,
|
| const std::string& uuid) {
|
| - return make_scoped_ptr(new NiceMock<MockBluetoothGattService>(
|
| - device, uuid /* identifier */, BluetoothUUID(uuid), true /* is_primary */,
|
| - false /* is_local */));
|
| + scoped_ptr<NiceMock<MockBluetoothGattService>> service(
|
| + new NiceMock<MockBluetoothGattService>(
|
| + device, uuid /* identifier */, BluetoothUUID(uuid),
|
| + true /* is_primary */, false /* is_local */));
|
| +
|
| + ON_CALL(*service, GetCharacteristics())
|
| + .WillByDefault(Invoke(service.get(),
|
| + &MockBluetoothGattService::GetMockCharacteristics));
|
| + return service.Pass();
|
| +}
|
| +
|
| +// static
|
| +scoped_ptr<NiceMock<MockBluetoothGattCharacteristic>>
|
| +LayoutTestBluetoothAdapterProvider::GetGattCharacteristic(
|
| + MockBluetoothGattService* service,
|
| + const std::string& uuid) {
|
| + return make_scoped_ptr(new NiceMock<MockBluetoothGattCharacteristic>(
|
| + service, uuid /* identifier */, BluetoothUUID(uuid), false /* is_local */,
|
| + NULL /* properties */, NULL /* permissions */));
|
| }
|
|
|
| } // namespace content
|
|
|