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 #include "content/shell/browser/layout_test/layout_test_bluetooth_adapter_provid er.h" | 5 #include "content/shell/browser/layout_test/layout_test_bluetooth_adapter_provid er.h" |
6 | 6 |
7 #include "base/bind.h" | |
8 #include "base/bind_helpers.h" | |
7 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
10 #include "base/location.h" | |
8 #include "base/strings/stringprintf.h" | 11 #include "base/strings/stringprintf.h" |
12 #include "base/thread_task_runner_handle.h" | |
9 #include "device/bluetooth/bluetooth_adapter.h" | 13 #include "device/bluetooth/bluetooth_adapter.h" |
10 #include "device/bluetooth/bluetooth_device.h" | 14 #include "device/bluetooth/bluetooth_device.h" |
11 #include "device/bluetooth/bluetooth_discovery_session.h" | 15 #include "device/bluetooth/bluetooth_discovery_session.h" |
12 #include "device/bluetooth/bluetooth_uuid.h" | 16 #include "device/bluetooth/bluetooth_uuid.h" |
13 #include "device/bluetooth/test/mock_bluetooth_adapter.h" | 17 #include "device/bluetooth/test/mock_bluetooth_adapter.h" |
14 #include "device/bluetooth/test/mock_bluetooth_discovery_session.h" | 18 #include "device/bluetooth/test/mock_bluetooth_discovery_session.h" |
15 #include "device/bluetooth/test/mock_bluetooth_gatt_connection.h" | 19 #include "device/bluetooth/test/mock_bluetooth_gatt_connection.h" |
16 #include "testing/gmock/include/gmock/gmock.h" | 20 #include "testing/gmock/include/gmock/gmock.h" |
17 | 21 |
18 using device::BluetoothAdapter; | 22 using device::BluetoothAdapter; |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
115 else if (fake_adapter_name == "MissingServiceGenericAccessAdapter") | 119 else if (fake_adapter_name == "MissingServiceGenericAccessAdapter") |
116 return GetMissingServiceGenericAccessAdapter(); | 120 return GetMissingServiceGenericAccessAdapter(); |
117 else if (fake_adapter_name == "MissingCharacteristicGenericAccessAdapter") | 121 else if (fake_adapter_name == "MissingCharacteristicGenericAccessAdapter") |
118 return GetMissingCharacteristicGenericAccessAdapter(); | 122 return GetMissingCharacteristicGenericAccessAdapter(); |
119 else if (fake_adapter_name == "GenericAccessAdapter") | 123 else if (fake_adapter_name == "GenericAccessAdapter") |
120 return GetGenericAccessAdapter(); | 124 return GetGenericAccessAdapter(); |
121 else if (fake_adapter_name == "FailingConnectionsAdapter") | 125 else if (fake_adapter_name == "FailingConnectionsAdapter") |
122 return GetFailingConnectionsAdapter(); | 126 return GetFailingConnectionsAdapter(); |
123 else if (fake_adapter_name == "FailingGATTOperationsAdapter") | 127 else if (fake_adapter_name == "FailingGATTOperationsAdapter") |
124 return GetFailingGATTOperationsAdapter(); | 128 return GetFailingGATTOperationsAdapter(); |
129 else if (fake_adapter_name == "SecondDiscoveryFindsHeartRateAdapter") | |
130 return GetSecondDiscoveryFindsHeartRateAdapter(); | |
125 else if (fake_adapter_name == "") | 131 else if (fake_adapter_name == "") |
126 return NULL; | 132 return NULL; |
127 | 133 |
128 NOTREACHED() << fake_adapter_name; | 134 NOTREACHED() << fake_adapter_name; |
129 return NULL; | 135 return NULL; |
130 } | 136 } |
131 | 137 |
132 // Adapters | 138 // Adapters |
133 | 139 |
134 // static | 140 // static |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
241 scoped_refptr<NiceMockBluetoothAdapter> | 247 scoped_refptr<NiceMockBluetoothAdapter> |
242 LayoutTestBluetoothAdapterProvider::GetGlucoseHeartRateAdapter() { | 248 LayoutTestBluetoothAdapterProvider::GetGlucoseHeartRateAdapter() { |
243 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); | 249 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); |
244 | 250 |
245 adapter->AddMockDevice(GetHeartRateDevice(adapter.get())); | 251 adapter->AddMockDevice(GetHeartRateDevice(adapter.get())); |
246 adapter->AddMockDevice(GetGlucoseDevice(adapter.get())); | 252 adapter->AddMockDevice(GetGlucoseDevice(adapter.get())); |
247 | 253 |
248 return adapter.Pass(); | 254 return adapter.Pass(); |
249 } | 255 } |
250 | 256 |
257 static void AddDevice(scoped_refptr<NiceMockBluetoothAdapter> adapter, | |
scheib
2015/09/23 03:35:00
This is hard enough to trace code flow to warrant
Jeffrey Yasskin
2015/09/23 19:32:05
Done.
| |
258 scoped_ptr<NiceMockBluetoothDevice> new_device) { | |
259 NiceMockBluetoothDevice* new_device_ptr = new_device.get(); | |
260 adapter->AddMockDevice(new_device.Pass()); | |
261 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, adapter->GetObservers(), | |
262 DeviceAdded(adapter.get(), new_device_ptr)); | |
263 } | |
264 | |
265 // static | |
266 scoped_refptr<NiceMockBluetoothAdapter> | |
267 LayoutTestBluetoothAdapterProvider::GetSecondDiscoveryFindsHeartRateAdapter() { | |
268 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetPoweredAdapter()); | |
269 NiceMockBluetoothAdapter* adapter_ptr = adapter.get(); | |
270 | |
271 EXPECT_CALL(*adapter, StartDiscoverySessionWithFilterRaw(_, _, _)) | |
272 .WillOnce(RunCallbackWithResult<1 /* success_callback */>( | |
273 []() { return GetDiscoverySession(); })) | |
274 .WillOnce( | |
275 RunCallbackWithResult<1 /* success_callback */>([adapter_ptr]() { | |
276 base::ThreadTaskRunnerHandle::Get()->PostTask( | |
277 FROM_HERE, | |
278 base::Bind(&AddDevice, make_scoped_refptr(adapter_ptr), | |
279 | |
280 base::Passed(GetHeartRateDevice(adapter_ptr)))); | |
281 return GetDiscoverySession(); | |
282 })); | |
283 | |
284 return adapter; | |
285 } | |
286 | |
251 // static | 287 // static |
252 scoped_refptr<NiceMockBluetoothAdapter> | 288 scoped_refptr<NiceMockBluetoothAdapter> |
253 LayoutTestBluetoothAdapterProvider::GetMissingServiceGenericAccessAdapter() { | 289 LayoutTestBluetoothAdapterProvider::GetMissingServiceGenericAccessAdapter() { |
254 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); | 290 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); |
255 | 291 |
256 adapter->AddMockDevice(GetGenericAccessDevice(adapter.get())); | 292 adapter->AddMockDevice(GetGenericAccessDevice(adapter.get())); |
257 | 293 |
258 return adapter.Pass(); | 294 return adapter.Pass(); |
259 } | 295 } |
260 | 296 |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
551 return base::StringPrintf("%08x-97e5-4cd7-b9f1-f5a427670c59", alias); | 587 return base::StringPrintf("%08x-97e5-4cd7-b9f1-f5a427670c59", alias); |
552 } | 588 } |
553 | 589 |
554 // static | 590 // static |
555 std::string LayoutTestBluetoothAdapterProvider::makeMACAddress(uint64_t addr) { | 591 std::string LayoutTestBluetoothAdapterProvider::makeMACAddress(uint64_t addr) { |
556 return BluetoothDevice::CanonicalizeAddress( | 592 return BluetoothDevice::CanonicalizeAddress( |
557 base::StringPrintf("%012" PRIx64, addr)); | 593 base::StringPrintf("%012" PRIx64, addr)); |
558 } | 594 } |
559 | 595 |
560 } // namespace content | 596 } // namespace content |
OLD | NEW |