Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 4468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4479 } | 4479 } |
| 4480 adapter_->Shutdown(); | 4480 adapter_->Shutdown(); |
| 4481 adapter_bluez->OnStopDiscoveryError(GetDiscoveryErrorCallback(), "", ""); | 4481 adapter_bluez->OnStopDiscoveryError(GetDiscoveryErrorCallback(), "", ""); |
| 4482 | 4482 |
| 4483 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, | 4483 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, |
| 4484 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. | 4484 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. |
| 4485 EXPECT_EQ(0, callback_count_); | 4485 EXPECT_EQ(0, callback_count_); |
| 4486 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); | 4486 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); |
| 4487 } | 4487 } |
| 4488 | 4488 |
| 4489 TEST_F(BluetoothBlueZTest, ServiceDataChanged) { | |
| 4490 // Simulate a change of service data of a device. | |
| 4491 GetAdapter(); | |
| 4492 | |
| 4493 BluetoothAdapter::DeviceList devices = adapter_->GetDevices(); | |
|
ortuno
2016/10/05 06:27:09
Just save a pointer to the device:
BluetoothDevic
puthik_chromium
2016/10/06 01:49:56
Done.
| |
| 4494 ASSERT_EQ(2U, devices.size()); | |
| 4495 | |
| 4496 int idx = GetDeviceIndexByAddress( | |
| 4497 devices, bluez::FakeBluetoothDeviceClient::kPairedDeviceAddress); | |
| 4498 ASSERT_NE(-1, idx); | |
| 4499 ASSERT_EQ(bluez::FakeBluetoothDeviceClient::kPairedDeviceAddress, | |
| 4500 devices[idx]->GetAddress()); | |
| 4501 ASSERT_EQ( | |
| 4502 base::UTF8ToUTF16(bluez::FakeBluetoothDeviceClient::kPairedDeviceAlias), | |
| 4503 devices[idx]->GetNameForDisplay()); | |
| 4504 | |
| 4505 // Install an observer; expect the DeviceChanged method to be called | |
| 4506 // when we change the service data. | |
| 4507 TestBluetoothAdapterObserver observer(adapter_); | |
| 4508 | |
| 4509 bluez::FakeBluetoothDeviceClient::Properties* properties = | |
| 4510 fake_bluetooth_device_client_->GetProperties(dbus::ObjectPath( | |
| 4511 bluez::FakeBluetoothDeviceClient::kPairedDevicePath)); | |
| 4512 | |
| 4513 static BluetoothUUID kUuid("1f08"); | |
|
ortuno
2016/10/05 06:27:09
nit: Can you use kGapUuid?
puthik_chromium
2016/10/06 01:49:56
Sure
| |
| 4514 static std::vector<uint8_t> kData = {1, 2, 3, 4, 5}; | |
| 4515 std::unordered_map<std::string, std::vector<uint8_t>> service_data; | |
|
ortuno
2016/10/05 06:27:09
You could do:
std::unordered_map<std::string, std
puthik_chromium
2016/10/06 01:49:56
Done.
| |
| 4516 service_data[kUuid.canonical_value()] = kData; | |
| 4517 | |
| 4518 properties->service_data.set_valid(true); | |
| 4519 properties->service_data.ReplaceValue(service_data); | |
|
ortuno
2016/10/05 06:27:10
Could you make this test a bit more thorough? i.e.
puthik_chromium
2016/10/06 01:49:56
Done.
| |
| 4520 | |
| 4521 EXPECT_EQ(1, observer.device_changed_count()); | |
| 4522 EXPECT_EQ(devices[idx], observer.last_device()); | |
| 4523 | |
| 4524 BluetoothDevice::UUIDSet uuids = devices[idx]->GetServiceDataUUIDs(); | |
|
ortuno
2016/10/05 06:27:09
Also test GetServiceData. You can use initializer
puthik_chromium
2016/10/06 01:49:56
Done.
puthik_chromium
2016/10/06 01:49:56
Done.
| |
| 4525 EXPECT_EQ(1u, uuids.size()); | |
| 4526 EXPECT_EQ(kUuid.canonical_value(), uuids.begin()->canonical_value()); | |
|
ortuno
2016/10/05 06:27:09
Using initializer lists will make testing easier a
puthik_chromium
2016/10/06 01:49:56
Done
| |
| 4527 const std::vector<uint8_t>* data = devices[idx]->GetServiceDataForUUID(kUuid); | |
| 4528 EXPECT_EQ(kData.size(), data->size()); | |
| 4529 for (size_t i = 0; i < kData.size(); i++) | |
| 4530 EXPECT_EQ(kData[i], (*data)[i]); | |
|
ortuno
2016/10/05 06:27:10
Same here:
EXPECT_EQ({1, 2, 3}, *GetServiceDataFo
puthik_chromium
2016/10/06 01:49:56
Done
| |
| 4531 } | |
| 4532 | |
| 4489 } // namespace bluez | 4533 } // namespace bluez |
| OLD | NEW |