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 "base/memory/scoped_vector.h" | 5 #include "base/memory/scoped_vector.h" |
6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chromeos/dbus/dbus_thread_manager.h" | 9 #include "chromeos/dbus/dbus_thread_manager.h" |
10 #include "chromeos/dbus/fake_bluetooth_adapter_client.h" | 10 #include "chromeos/dbus/fake_bluetooth_adapter_client.h" |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 int request_passkey_count_; | 132 int request_passkey_count_; |
133 int display_pincode_count_; | 133 int display_pincode_count_; |
134 int display_passkey_count_; | 134 int display_passkey_count_; |
135 int keys_entered_count_; | 135 int keys_entered_count_; |
136 int confirm_passkey_count_; | 136 int confirm_passkey_count_; |
137 int authorize_pairing_count_; | 137 int authorize_pairing_count_; |
138 uint32 last_passkey_; | 138 uint32 last_passkey_; |
139 uint32 last_entered_; | 139 uint32 last_entered_; |
140 std::string last_pincode_; | 140 std::string last_pincode_; |
141 | 141 |
142 private: | 142 private: |
143 // Some tests use a message loop since background processing is simulated; | 143 // Some tests use a message loop since background processing is simulated; |
144 // break out of those loops. | 144 // break out of those loops. |
145 void QuitMessageLoop() { | 145 void QuitMessageLoop() { |
146 if (base::MessageLoop::current() && | 146 if (base::MessageLoop::current() && |
147 base::MessageLoop::current()->is_running()) | 147 base::MessageLoop::current()->is_running()) { |
148 base::MessageLoop::current()->Quit(); | 148 base::MessageLoop::current()->Quit(); |
149 } | 149 } |
| 150 } |
150 }; | 151 }; |
151 | 152 |
152 class BluetoothChromeOSTest : public testing::Test { | 153 class BluetoothChromeOSTest : public testing::Test { |
153 public: | 154 public: |
154 void SetUp() override { | 155 void SetUp() override { |
155 scoped_ptr<DBusThreadManagerSetter> dbus_setter = | 156 scoped_ptr<DBusThreadManagerSetter> dbus_setter = |
156 chromeos::DBusThreadManager::GetSetterForTesting(); | 157 chromeos::DBusThreadManager::GetSetterForTesting(); |
157 // We need to initialize DBusThreadManager early to prevent | 158 // We need to initialize DBusThreadManager early to prevent |
158 // Bluetooth*::Create() methods from picking the real instead of fake | 159 // Bluetooth*::Create() methods from picking the real instead of fake |
159 // implementations. | 160 // implementations. |
(...skipping 27 matching lines...) Expand all Loading... |
187 ++iter) { | 188 ++iter) { |
188 BluetoothDiscoverySession* session = *iter; | 189 BluetoothDiscoverySession* session = *iter; |
189 if (!session->IsActive()) | 190 if (!session->IsActive()) |
190 continue; | 191 continue; |
191 callback_count_ = 0; | 192 callback_count_ = 0; |
192 session->Stop(GetCallback(), GetErrorCallback()); | 193 session->Stop(GetCallback(), GetErrorCallback()); |
193 message_loop_.Run(); | 194 message_loop_.Run(); |
194 ASSERT_EQ(1, callback_count_); | 195 ASSERT_EQ(1, callback_count_); |
195 } | 196 } |
196 discovery_sessions_.clear(); | 197 discovery_sessions_.clear(); |
197 adapter_ = NULL; | 198 adapter_ = nullptr; |
198 DBusThreadManager::Shutdown(); | 199 DBusThreadManager::Shutdown(); |
199 } | 200 } |
200 | 201 |
201 // Generic callbacks | 202 // Generic callbacks |
202 void Callback() { | 203 void Callback() { |
203 ++callback_count_; | 204 ++callback_count_; |
204 QuitMessageLoop(); | 205 QuitMessageLoop(); |
205 } | 206 } |
206 | 207 |
207 base::Closure GetCallback() { | 208 base::Closure GetCallback() { |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 } | 255 } |
255 | 256 |
256 void ErrorCompletionCallback(const std::string& error_message) { | 257 void ErrorCompletionCallback(const std::string& error_message) { |
257 ++error_callback_count_; | 258 ++error_callback_count_; |
258 QuitMessageLoop(); | 259 QuitMessageLoop(); |
259 } | 260 } |
260 | 261 |
261 // Call to fill the adapter_ member with a BluetoothAdapter instance. | 262 // Call to fill the adapter_ member with a BluetoothAdapter instance. |
262 void GetAdapter() { | 263 void GetAdapter() { |
263 adapter_ = new BluetoothAdapterChromeOS(); | 264 adapter_ = new BluetoothAdapterChromeOS(); |
264 ASSERT_TRUE(adapter_.get() != NULL); | 265 ASSERT_TRUE(adapter_.get() != nullptr); |
265 ASSERT_TRUE(adapter_->IsInitialized()); | 266 ASSERT_TRUE(adapter_->IsInitialized()); |
266 } | 267 } |
267 | 268 |
268 // Run a discovery phase until the named device is detected, or if the named | 269 // Run a discovery phase until the named device is detected, or if the named |
269 // device is not created, the discovery process ends without finding it. | 270 // device is not created, the discovery process ends without finding it. |
270 // | 271 // |
271 // The correct behavior of discovery is tested by the "Discovery" test case | 272 // The correct behavior of discovery is tested by the "Discovery" test case |
272 // without using this function. | 273 // without using this function. |
273 void DiscoverDevice(const std::string& address) { | 274 void DiscoverDevice(const std::string& address) { |
274 ASSERT_TRUE(adapter_.get() != NULL); | 275 ASSERT_TRUE(adapter_.get() != nullptr); |
275 ASSERT_TRUE(base::MessageLoop::current() != NULL); | 276 ASSERT_TRUE(base::MessageLoop::current() != nullptr); |
276 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 277 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
277 | 278 |
278 TestBluetoothAdapterObserver observer(adapter_); | 279 TestBluetoothAdapterObserver observer(adapter_); |
279 | 280 |
280 adapter_->SetPowered(true, GetCallback(), GetErrorCallback()); | 281 adapter_->SetPowered(true, GetCallback(), GetErrorCallback()); |
281 adapter_->StartDiscoverySession( | 282 adapter_->StartDiscoverySession( |
282 base::Bind(&BluetoothChromeOSTest::DiscoverySessionCallback, | 283 base::Bind(&BluetoothChromeOSTest::DiscoverySessionCallback, |
283 base::Unretained(this)), | 284 base::Unretained(this)), |
284 GetErrorCallback()); | 285 GetErrorCallback()); |
285 base::MessageLoop::current()->Run(); | 286 base::MessageLoop::current()->Run(); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 enum BluetoothDevice::ConnectErrorCode last_connect_error_; | 324 enum BluetoothDevice::ConnectErrorCode last_connect_error_; |
324 std::string last_client_error_; | 325 std::string last_client_error_; |
325 ScopedVector<BluetoothDiscoverySession> discovery_sessions_; | 326 ScopedVector<BluetoothDiscoverySession> discovery_sessions_; |
326 BluetoothAdapterProfileChromeOS* adapter_profile_; | 327 BluetoothAdapterProfileChromeOS* adapter_profile_; |
327 | 328 |
328 private: | 329 private: |
329 // Some tests use a message loop since background processing is simulated; | 330 // Some tests use a message loop since background processing is simulated; |
330 // break out of those loops. | 331 // break out of those loops. |
331 void QuitMessageLoop() { | 332 void QuitMessageLoop() { |
332 if (base::MessageLoop::current() && | 333 if (base::MessageLoop::current() && |
333 base::MessageLoop::current()->is_running()) | 334 base::MessageLoop::current()->is_running()) { |
334 base::MessageLoop::current()->Quit(); | 335 base::MessageLoop::current()->Quit(); |
| 336 } |
335 } | 337 } |
336 }; | 338 }; |
337 | 339 |
338 TEST_F(BluetoothChromeOSTest, AlreadyPresent) { | 340 TEST_F(BluetoothChromeOSTest, AlreadyPresent) { |
339 GetAdapter(); | 341 GetAdapter(); |
340 | 342 |
341 // This verifies that the class gets the list of adapters when created; | 343 // This verifies that the class gets the list of adapters when created; |
342 // and initializes with an existing adapter if there is one. | 344 // and initializes with an existing adapter if there is one. |
343 EXPECT_TRUE(adapter_->IsPresent()); | 345 EXPECT_TRUE(adapter_->IsPresent()); |
344 EXPECT_FALSE(adapter_->IsPowered()); | 346 EXPECT_FALSE(adapter_->IsPowered()); |
(...skipping 1021 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1366 message_loop_.Run(); | 1368 message_loop_.Run(); |
1367 | 1369 |
1368 EXPECT_EQ(1, callback_count_); | 1370 EXPECT_EQ(1, callback_count_); |
1369 EXPECT_EQ(0, error_callback_count_); | 1371 EXPECT_EQ(0, error_callback_count_); |
1370 | 1372 |
1371 ASSERT_TRUE(adapter_->IsPowered()); | 1373 ASSERT_TRUE(adapter_->IsPowered()); |
1372 ASSERT_FALSE(adapter_->IsDiscovering()); | 1374 ASSERT_FALSE(adapter_->IsDiscovering()); |
1373 ASSERT_EQ((size_t)1, discovery_sessions_.size()); | 1375 ASSERT_EQ((size_t)1, discovery_sessions_.size()); |
1374 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); | 1376 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); |
1375 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), | 1377 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), |
1376 (BluetoothDiscoveryFilter*)NULL); | 1378 (BluetoothDiscoveryFilter*)nullptr); |
1377 | 1379 |
1378 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1380 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1379 EXPECT_EQ(nullptr, filter); | 1381 EXPECT_EQ(nullptr, filter); |
1380 } | 1382 } |
1381 | 1383 |
1382 TEST_F(BluetoothChromeOSTest, SetDiscoveryFilterBeforeStartDiscoveryFail) { | 1384 TEST_F(BluetoothChromeOSTest, SetDiscoveryFilterBeforeStartDiscoveryFail) { |
1383 // Test a simulated discovery session. | 1385 // Test a simulated discovery session. |
1384 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 1386 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
1385 GetAdapter(); | 1387 GetAdapter(); |
1386 | 1388 |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1505 | 1507 |
1506 message_loop_.Run(); | 1508 message_loop_.Run(); |
1507 | 1509 |
1508 EXPECT_EQ(2, callback_count_); | 1510 EXPECT_EQ(2, callback_count_); |
1509 EXPECT_EQ(0, error_callback_count_); | 1511 EXPECT_EQ(0, error_callback_count_); |
1510 | 1512 |
1511 ASSERT_TRUE(adapter_->IsPowered()); | 1513 ASSERT_TRUE(adapter_->IsPowered()); |
1512 ASSERT_FALSE(adapter_->IsDiscovering()); | 1514 ASSERT_FALSE(adapter_->IsDiscovering()); |
1513 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); | 1515 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); |
1514 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), | 1516 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), |
1515 (BluetoothDiscoveryFilter*)NULL); | 1517 (BluetoothDiscoveryFilter*)nullptr); |
1516 ASSERT_FALSE(discovery_sessions_[1]->IsActive()); | 1518 ASSERT_FALSE(discovery_sessions_[1]->IsActive()); |
1517 ASSERT_EQ(discovery_sessions_[1]->GetDiscoveryFilter(), | 1519 ASSERT_EQ(discovery_sessions_[1]->GetDiscoveryFilter(), |
1518 (BluetoothDiscoveryFilter*)NULL); | 1520 (BluetoothDiscoveryFilter*)nullptr); |
1519 | 1521 |
1520 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1522 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1521 EXPECT_EQ(nullptr, filter); | 1523 EXPECT_EQ(nullptr, filter); |
1522 } | 1524 } |
1523 | 1525 |
1524 // Call StartFilteredDiscovery twice (2nd time while 1st call is still pending). | 1526 // Call StartFilteredDiscovery twice (2nd time while 1st call is still pending). |
1525 // Make the first SetDiscoveryFilter fail and the second one succeed. It should | 1527 // Make the first SetDiscoveryFilter fail and the second one succeed. It should |
1526 // end up with one active discovery session. | 1528 // end up with one active discovery session. |
1527 TEST_F(BluetoothChromeOSTest, | 1529 TEST_F(BluetoothChromeOSTest, |
1528 QueuedSetDiscoveryFilterBeforeStartDiscoveryFail) { | 1530 QueuedSetDiscoveryFilterBeforeStartDiscoveryFail) { |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1609 | 1611 |
1610 message_loop_.Run(); | 1612 message_loop_.Run(); |
1611 | 1613 |
1612 EXPECT_EQ(1, callback_count_); | 1614 EXPECT_EQ(1, callback_count_); |
1613 EXPECT_EQ(0, error_callback_count_); | 1615 EXPECT_EQ(0, error_callback_count_); |
1614 | 1616 |
1615 ASSERT_TRUE(adapter_->IsPowered()); | 1617 ASSERT_TRUE(adapter_->IsPowered()); |
1616 ASSERT_FALSE(adapter_->IsDiscovering()); | 1618 ASSERT_FALSE(adapter_->IsDiscovering()); |
1617 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); | 1619 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); |
1618 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), | 1620 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), |
1619 (BluetoothDiscoveryFilter*)NULL); | 1621 (BluetoothDiscoveryFilter*)nullptr); |
1620 | 1622 |
1621 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1623 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1622 EXPECT_EQ(nullptr, filter); | 1624 EXPECT_EQ(nullptr, filter); |
1623 } | 1625 } |
1624 | 1626 |
1625 TEST_F(BluetoothChromeOSTest, SetDiscoveryFilterAfterStartDiscovery) { | 1627 TEST_F(BluetoothChromeOSTest, SetDiscoveryFilterAfterStartDiscovery) { |
1626 // Test a simulated discovery session. | 1628 // Test a simulated discovery session. |
1627 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 1629 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
1628 GetAdapter(); | 1630 GetAdapter(); |
1629 | 1631 |
(...skipping 13 matching lines...) Expand all Loading... |
1643 EXPECT_EQ(0, error_callback_count_); | 1645 EXPECT_EQ(0, error_callback_count_); |
1644 callback_count_ = 0; | 1646 callback_count_ = 0; |
1645 | 1647 |
1646 ASSERT_TRUE(adapter_->IsPowered()); | 1648 ASSERT_TRUE(adapter_->IsPowered()); |
1647 ASSERT_TRUE(adapter_->IsDiscovering()); | 1649 ASSERT_TRUE(adapter_->IsDiscovering()); |
1648 ASSERT_EQ((size_t)1, discovery_sessions_.size()); | 1650 ASSERT_EQ((size_t)1, discovery_sessions_.size()); |
1649 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); | 1651 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); |
1650 EXPECT_EQ(1, observer.discovering_changed_count()); | 1652 EXPECT_EQ(1, observer.discovering_changed_count()); |
1651 observer.Reset(); | 1653 observer.Reset(); |
1652 | 1654 |
1653 auto nullInstance = scoped_ptr<BluetoothDiscoveryFilter>(); | 1655 auto null_instance = scoped_ptr<BluetoothDiscoveryFilter>(); |
1654 nullInstance.reset(); | 1656 null_instance.reset(); |
1655 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), nullInstance.get()); | 1657 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), null_instance.get()); |
1656 | 1658 |
1657 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1659 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1658 EXPECT_EQ(nullptr, filter); | 1660 EXPECT_EQ(nullptr, filter); |
1659 | 1661 |
1660 BluetoothDiscoveryFilter* df = new BluetoothDiscoveryFilter( | 1662 BluetoothDiscoveryFilter* df = new BluetoothDiscoveryFilter( |
1661 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); | 1663 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); |
1662 df->SetRSSI(-60); | 1664 df->SetRSSI(-60); |
1663 df->AddUUID(BluetoothUUID("1000")); | 1665 df->AddUUID(BluetoothUUID("1000")); |
1664 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter(df); | 1666 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter(df); |
1665 | 1667 |
(...skipping 26 matching lines...) Expand all Loading... |
1692 message_loop_.Run(); | 1694 message_loop_.Run(); |
1693 | 1695 |
1694 EXPECT_EQ(1, callback_count_); | 1696 EXPECT_EQ(1, callback_count_); |
1695 EXPECT_EQ(0, error_callback_count_); | 1697 EXPECT_EQ(0, error_callback_count_); |
1696 | 1698 |
1697 ASSERT_TRUE(adapter_->IsPowered()); | 1699 ASSERT_TRUE(adapter_->IsPowered()); |
1698 ASSERT_FALSE(adapter_->IsDiscovering()); | 1700 ASSERT_FALSE(adapter_->IsDiscovering()); |
1699 ASSERT_EQ((size_t)1, discovery_sessions_.size()); | 1701 ASSERT_EQ((size_t)1, discovery_sessions_.size()); |
1700 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); | 1702 ASSERT_FALSE(discovery_sessions_[0]->IsActive()); |
1701 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), | 1703 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), |
1702 (BluetoothDiscoveryFilter*)NULL); | 1704 (BluetoothDiscoveryFilter*)nullptr); |
1703 | 1705 |
1704 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1706 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1705 EXPECT_EQ(nullptr, filter); | 1707 EXPECT_EQ(nullptr, filter); |
1706 } | 1708 } |
1707 | 1709 |
1708 // This unit test asserts that the basic reference counting, and filter merging | 1710 // This unit test asserts that the basic reference counting, and filter merging |
1709 // works correctly for discovery requests done via the BluetoothAdapter. | 1711 // works correctly for discovery requests done via the BluetoothAdapter. |
1710 TEST_F(BluetoothChromeOSTest, SetDiscoveryFilterBeforeStartDiscoveryMultiple) { | 1712 TEST_F(BluetoothChromeOSTest, SetDiscoveryFilterBeforeStartDiscoveryMultiple) { |
1711 GetAdapter(); | 1713 GetAdapter(); |
1712 adapter_->SetPowered(true, base::Bind(&BluetoothChromeOSTest::Callback, | 1714 adapter_->SetPowered(true, base::Bind(&BluetoothChromeOSTest::Callback, |
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2203 devices = adapter_->GetDevices(); | 2205 devices = adapter_->GetDevices(); |
2204 ASSERT_EQ(1U, devices.size()); | 2206 ASSERT_EQ(1U, devices.size()); |
2205 } | 2207 } |
2206 | 2208 |
2207 TEST_F(BluetoothChromeOSTest, ForgetUnpairedDevice) { | 2209 TEST_F(BluetoothChromeOSTest, ForgetUnpairedDevice) { |
2208 GetAdapter(); | 2210 GetAdapter(); |
2209 DiscoverDevices(); | 2211 DiscoverDevices(); |
2210 | 2212 |
2211 BluetoothDevice* device = adapter_->GetDevice( | 2213 BluetoothDevice* device = adapter_->GetDevice( |
2212 FakeBluetoothDeviceClient::kConnectUnpairableAddress); | 2214 FakeBluetoothDeviceClient::kConnectUnpairableAddress); |
2213 ASSERT_TRUE(device != NULL); | 2215 ASSERT_TRUE(device != nullptr); |
2214 ASSERT_FALSE(device->IsPaired()); | 2216 ASSERT_FALSE(device->IsPaired()); |
2215 | 2217 |
2216 // Connect the device so it becomes trusted and remembered. | 2218 // Connect the device so it becomes trusted and remembered. |
2217 device->Connect(NULL, GetCallback(), | 2219 device->Connect(nullptr, GetCallback(), |
2218 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2220 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2219 base::Unretained(this))); | 2221 base::Unretained(this))); |
2220 | 2222 |
2221 ASSERT_EQ(1, callback_count_); | 2223 ASSERT_EQ(1, callback_count_); |
2222 ASSERT_EQ(0, error_callback_count_); | 2224 ASSERT_EQ(0, error_callback_count_); |
2223 callback_count_ = 0; | 2225 callback_count_ = 0; |
2224 | 2226 |
2225 ASSERT_TRUE(device->IsConnected()); | 2227 ASSERT_TRUE(device->IsConnected()); |
2226 ASSERT_FALSE(device->IsConnecting()); | 2228 ASSERT_FALSE(device->IsConnecting()); |
2227 | 2229 |
(...skipping 10 matching lines...) Expand all Loading... |
2238 device->Forget(GetErrorCallback()); | 2240 device->Forget(GetErrorCallback()); |
2239 EXPECT_EQ(0, error_callback_count_); | 2241 EXPECT_EQ(0, error_callback_count_); |
2240 | 2242 |
2241 EXPECT_EQ(1, observer.device_removed_count()); | 2243 EXPECT_EQ(1, observer.device_removed_count()); |
2242 EXPECT_EQ(FakeBluetoothDeviceClient::kConnectUnpairableAddress, | 2244 EXPECT_EQ(FakeBluetoothDeviceClient::kConnectUnpairableAddress, |
2243 observer.last_device_address()); | 2245 observer.last_device_address()); |
2244 | 2246 |
2245 // GetDevices shouldn't return the device either. | 2247 // GetDevices shouldn't return the device either. |
2246 device = adapter_->GetDevice( | 2248 device = adapter_->GetDevice( |
2247 FakeBluetoothDeviceClient::kConnectUnpairableAddress); | 2249 FakeBluetoothDeviceClient::kConnectUnpairableAddress); |
2248 EXPECT_FALSE(device != NULL); | 2250 EXPECT_FALSE(device != nullptr); |
2249 } | 2251 } |
2250 | 2252 |
2251 TEST_F(BluetoothChromeOSTest, ConnectPairedDevice) { | 2253 TEST_F(BluetoothChromeOSTest, ConnectPairedDevice) { |
2252 GetAdapter(); | 2254 GetAdapter(); |
2253 | 2255 |
2254 BluetoothDevice* device = adapter_->GetDevice( | 2256 BluetoothDevice* device = adapter_->GetDevice( |
2255 FakeBluetoothDeviceClient::kPairedDeviceAddress); | 2257 FakeBluetoothDeviceClient::kPairedDeviceAddress); |
2256 ASSERT_TRUE(device != NULL); | 2258 ASSERT_TRUE(device != nullptr); |
2257 ASSERT_TRUE(device->IsPaired()); | 2259 ASSERT_TRUE(device->IsPaired()); |
2258 | 2260 |
2259 TestBluetoothAdapterObserver observer(adapter_); | 2261 TestBluetoothAdapterObserver observer(adapter_); |
2260 | 2262 |
2261 // Connect without a pairing delegate; since the device is already Paired | 2263 // Connect without a pairing delegate; since the device is already Paired |
2262 // this should succeed and the device should become connected. | 2264 // this should succeed and the device should become connected. |
2263 device->Connect(NULL, GetCallback(), | 2265 device->Connect(nullptr, GetCallback(), |
2264 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2266 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2265 base::Unretained(this))); | 2267 base::Unretained(this))); |
2266 | 2268 |
2267 EXPECT_EQ(1, callback_count_); | 2269 EXPECT_EQ(1, callback_count_); |
2268 EXPECT_EQ(0, error_callback_count_); | 2270 EXPECT_EQ(0, error_callback_count_); |
2269 | 2271 |
2270 // Two changes for connecting, one for connected and one for for trusted | 2272 // Two changes for connecting, one for connected and one for for trusted |
2271 // after connecting. | 2273 // after connecting. |
2272 EXPECT_EQ(4, observer.device_changed_count()); | 2274 EXPECT_EQ(4, observer.device_changed_count()); |
2273 EXPECT_EQ(device, observer.last_device()); | 2275 EXPECT_EQ(device, observer.last_device()); |
2274 | 2276 |
2275 EXPECT_TRUE(device->IsConnected()); | 2277 EXPECT_TRUE(device->IsConnected()); |
2276 EXPECT_FALSE(device->IsConnecting()); | 2278 EXPECT_FALSE(device->IsConnecting()); |
2277 } | 2279 } |
2278 | 2280 |
2279 TEST_F(BluetoothChromeOSTest, ConnectUnpairableDevice) { | 2281 TEST_F(BluetoothChromeOSTest, ConnectUnpairableDevice) { |
2280 GetAdapter(); | 2282 GetAdapter(); |
2281 DiscoverDevices(); | 2283 DiscoverDevices(); |
2282 | 2284 |
2283 BluetoothDevice* device = adapter_->GetDevice( | 2285 BluetoothDevice* device = adapter_->GetDevice( |
2284 FakeBluetoothDeviceClient::kConnectUnpairableAddress); | 2286 FakeBluetoothDeviceClient::kConnectUnpairableAddress); |
2285 ASSERT_TRUE(device != NULL); | 2287 ASSERT_TRUE(device != nullptr); |
2286 ASSERT_FALSE(device->IsPaired()); | 2288 ASSERT_FALSE(device->IsPaired()); |
2287 | 2289 |
2288 TestBluetoothAdapterObserver observer(adapter_); | 2290 TestBluetoothAdapterObserver observer(adapter_); |
2289 | 2291 |
2290 // Connect without a pairing delegate; since the device does not require | 2292 // Connect without a pairing delegate; since the device does not require |
2291 // pairing, this should succeed and the device should become connected. | 2293 // pairing, this should succeed and the device should become connected. |
2292 device->Connect(NULL, GetCallback(), | 2294 device->Connect(nullptr, GetCallback(), |
2293 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2295 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2294 base::Unretained(this))); | 2296 base::Unretained(this))); |
2295 | 2297 |
2296 EXPECT_EQ(1, callback_count_); | 2298 EXPECT_EQ(1, callback_count_); |
2297 EXPECT_EQ(0, error_callback_count_); | 2299 EXPECT_EQ(0, error_callback_count_); |
2298 | 2300 |
2299 // Two changes for connecting, one for connected, one for for trusted after | 2301 // Two changes for connecting, one for connected, one for for trusted after |
2300 // connection, and one for the reconnect mode (IsConnectable). | 2302 // connection, and one for the reconnect mode (IsConnectable). |
2301 EXPECT_EQ(5, observer.device_changed_count()); | 2303 EXPECT_EQ(5, observer.device_changed_count()); |
2302 EXPECT_EQ(device, observer.last_device()); | 2304 EXPECT_EQ(device, observer.last_device()); |
(...skipping 12 matching lines...) Expand all Loading... |
2315 ASSERT_EQ(1U, uuids.size()); | 2317 ASSERT_EQ(1U, uuids.size()); |
2316 EXPECT_EQ(uuids[0], BluetoothUUID("1124")); | 2318 EXPECT_EQ(uuids[0], BluetoothUUID("1124")); |
2317 EXPECT_FALSE(device->IsConnectable()); | 2319 EXPECT_FALSE(device->IsConnectable()); |
2318 } | 2320 } |
2319 | 2321 |
2320 TEST_F(BluetoothChromeOSTest, ConnectConnectedDevice) { | 2322 TEST_F(BluetoothChromeOSTest, ConnectConnectedDevice) { |
2321 GetAdapter(); | 2323 GetAdapter(); |
2322 | 2324 |
2323 BluetoothDevice* device = adapter_->GetDevice( | 2325 BluetoothDevice* device = adapter_->GetDevice( |
2324 FakeBluetoothDeviceClient::kPairedDeviceAddress); | 2326 FakeBluetoothDeviceClient::kPairedDeviceAddress); |
2325 ASSERT_TRUE(device != NULL); | 2327 ASSERT_TRUE(device != nullptr); |
2326 ASSERT_TRUE(device->IsPaired()); | 2328 ASSERT_TRUE(device->IsPaired()); |
2327 | 2329 |
2328 device->Connect(NULL, GetCallback(), | 2330 device->Connect(nullptr, GetCallback(), |
2329 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2331 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2330 base::Unretained(this))); | 2332 base::Unretained(this))); |
2331 | 2333 |
2332 ASSERT_EQ(1, callback_count_); | 2334 ASSERT_EQ(1, callback_count_); |
2333 ASSERT_EQ(0, error_callback_count_); | 2335 ASSERT_EQ(0, error_callback_count_); |
2334 callback_count_ = 0; | 2336 callback_count_ = 0; |
2335 | 2337 |
2336 ASSERT_TRUE(device->IsConnected()); | 2338 ASSERT_TRUE(device->IsConnected()); |
2337 | 2339 |
2338 // Connect again; since the device is already Connected, this shouldn't do | 2340 // Connect again; since the device is already Connected, this shouldn't do |
2339 // anything to initiate the connection. | 2341 // anything to initiate the connection. |
2340 TestBluetoothAdapterObserver observer(adapter_); | 2342 TestBluetoothAdapterObserver observer(adapter_); |
2341 | 2343 |
2342 device->Connect(NULL, GetCallback(), | 2344 device->Connect(nullptr, GetCallback(), |
2343 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2345 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2344 base::Unretained(this))); | 2346 base::Unretained(this))); |
2345 | 2347 |
2346 EXPECT_EQ(1, callback_count_); | 2348 EXPECT_EQ(1, callback_count_); |
2347 EXPECT_EQ(0, error_callback_count_); | 2349 EXPECT_EQ(0, error_callback_count_); |
2348 | 2350 |
2349 // The observer will be called because Connecting will toggle true and false, | 2351 // The observer will be called because Connecting will toggle true and false, |
2350 // and the trusted property will be updated to true. | 2352 // and the trusted property will be updated to true. |
2351 EXPECT_EQ(3, observer.device_changed_count()); | 2353 EXPECT_EQ(3, observer.device_changed_count()); |
2352 | 2354 |
2353 EXPECT_TRUE(device->IsConnected()); | 2355 EXPECT_TRUE(device->IsConnected()); |
2354 EXPECT_FALSE(device->IsConnecting()); | 2356 EXPECT_FALSE(device->IsConnecting()); |
2355 } | 2357 } |
2356 | 2358 |
2357 TEST_F(BluetoothChromeOSTest, ConnectDeviceFails) { | 2359 TEST_F(BluetoothChromeOSTest, ConnectDeviceFails) { |
2358 GetAdapter(); | 2360 GetAdapter(); |
2359 DiscoverDevices(); | 2361 DiscoverDevices(); |
2360 | 2362 |
2361 BluetoothDevice* device = adapter_->GetDevice( | 2363 BluetoothDevice* device = adapter_->GetDevice( |
2362 FakeBluetoothDeviceClient::kLegacyAutopairAddress); | 2364 FakeBluetoothDeviceClient::kLegacyAutopairAddress); |
2363 ASSERT_TRUE(device != NULL); | 2365 ASSERT_TRUE(device != nullptr); |
2364 ASSERT_FALSE(device->IsPaired()); | 2366 ASSERT_FALSE(device->IsPaired()); |
2365 | 2367 |
2366 TestBluetoothAdapterObserver observer(adapter_); | 2368 TestBluetoothAdapterObserver observer(adapter_); |
2367 | 2369 |
2368 // Connect without a pairing delegate; since the device requires pairing, | 2370 // Connect without a pairing delegate; since the device requires pairing, |
2369 // this should fail with an error. | 2371 // this should fail with an error. |
2370 device->Connect(NULL, GetCallback(), | 2372 device->Connect(nullptr, GetCallback(), |
2371 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2373 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2372 base::Unretained(this))); | 2374 base::Unretained(this))); |
2373 | 2375 |
2374 EXPECT_EQ(0, callback_count_); | 2376 EXPECT_EQ(0, callback_count_); |
2375 EXPECT_EQ(1, error_callback_count_); | 2377 EXPECT_EQ(1, error_callback_count_); |
2376 EXPECT_EQ(BluetoothDevice::ERROR_FAILED, last_connect_error_); | 2378 EXPECT_EQ(BluetoothDevice::ERROR_FAILED, last_connect_error_); |
2377 | 2379 |
2378 EXPECT_EQ(2, observer.device_changed_count()); | 2380 EXPECT_EQ(2, observer.device_changed_count()); |
2379 | 2381 |
2380 EXPECT_FALSE(device->IsConnected()); | 2382 EXPECT_FALSE(device->IsConnected()); |
2381 EXPECT_FALSE(device->IsConnecting()); | 2383 EXPECT_FALSE(device->IsConnecting()); |
2382 } | 2384 } |
2383 | 2385 |
2384 TEST_F(BluetoothChromeOSTest, DisconnectDevice) { | 2386 TEST_F(BluetoothChromeOSTest, DisconnectDevice) { |
2385 GetAdapter(); | 2387 GetAdapter(); |
2386 | 2388 |
2387 BluetoothDevice* device = adapter_->GetDevice( | 2389 BluetoothDevice* device = adapter_->GetDevice( |
2388 FakeBluetoothDeviceClient::kPairedDeviceAddress); | 2390 FakeBluetoothDeviceClient::kPairedDeviceAddress); |
2389 ASSERT_TRUE(device != NULL); | 2391 ASSERT_TRUE(device != nullptr); |
2390 ASSERT_TRUE(device->IsPaired()); | 2392 ASSERT_TRUE(device->IsPaired()); |
2391 | 2393 |
2392 device->Connect(NULL, GetCallback(), | 2394 device->Connect(nullptr, GetCallback(), |
2393 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2395 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2394 base::Unretained(this))); | 2396 base::Unretained(this))); |
2395 | 2397 |
2396 ASSERT_EQ(1, callback_count_); | 2398 ASSERT_EQ(1, callback_count_); |
2397 ASSERT_EQ(0, error_callback_count_); | 2399 ASSERT_EQ(0, error_callback_count_); |
2398 callback_count_ = 0; | 2400 callback_count_ = 0; |
2399 | 2401 |
2400 ASSERT_TRUE(device->IsConnected()); | 2402 ASSERT_TRUE(device->IsConnected()); |
2401 ASSERT_FALSE(device->IsConnecting()); | 2403 ASSERT_FALSE(device->IsConnecting()); |
2402 | 2404 |
(...skipping 10 matching lines...) Expand all Loading... |
2413 EXPECT_EQ(device, observer.last_device()); | 2415 EXPECT_EQ(device, observer.last_device()); |
2414 | 2416 |
2415 EXPECT_FALSE(device->IsConnected()); | 2417 EXPECT_FALSE(device->IsConnected()); |
2416 } | 2418 } |
2417 | 2419 |
2418 TEST_F(BluetoothChromeOSTest, DisconnectUnconnectedDevice) { | 2420 TEST_F(BluetoothChromeOSTest, DisconnectUnconnectedDevice) { |
2419 GetAdapter(); | 2421 GetAdapter(); |
2420 | 2422 |
2421 BluetoothDevice* device = adapter_->GetDevice( | 2423 BluetoothDevice* device = adapter_->GetDevice( |
2422 FakeBluetoothDeviceClient::kPairedDeviceAddress); | 2424 FakeBluetoothDeviceClient::kPairedDeviceAddress); |
2423 ASSERT_TRUE(device != NULL); | 2425 ASSERT_TRUE(device != nullptr); |
2424 ASSERT_TRUE(device->IsPaired()); | 2426 ASSERT_TRUE(device->IsPaired()); |
2425 ASSERT_FALSE(device->IsConnected()); | 2427 ASSERT_FALSE(device->IsConnected()); |
2426 | 2428 |
2427 // Disconnect the device, we should see the observer method fire and the | 2429 // Disconnect the device, we should see the observer method fire and the |
2428 // device get dropped. | 2430 // device get dropped. |
2429 TestBluetoothAdapterObserver observer(adapter_); | 2431 TestBluetoothAdapterObserver observer(adapter_); |
2430 | 2432 |
2431 device->Disconnect(GetCallback(), GetErrorCallback()); | 2433 device->Disconnect(GetCallback(), GetErrorCallback()); |
2432 | 2434 |
2433 EXPECT_EQ(0, callback_count_); | 2435 EXPECT_EQ(0, callback_count_); |
2434 EXPECT_EQ(1, error_callback_count_); | 2436 EXPECT_EQ(1, error_callback_count_); |
2435 | 2437 |
2436 EXPECT_EQ(0, observer.device_changed_count()); | 2438 EXPECT_EQ(0, observer.device_changed_count()); |
2437 | 2439 |
2438 EXPECT_FALSE(device->IsConnected()); | 2440 EXPECT_FALSE(device->IsConnected()); |
2439 } | 2441 } |
2440 | 2442 |
2441 TEST_F(BluetoothChromeOSTest, PairLegacyAutopair) { | 2443 TEST_F(BluetoothChromeOSTest, PairLegacyAutopair) { |
2442 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2444 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2443 | 2445 |
2444 GetAdapter(); | 2446 GetAdapter(); |
2445 DiscoverDevices(); | 2447 DiscoverDevices(); |
2446 | 2448 |
2447 // The Legacy Autopair device requires no PIN or Passkey to pair because | 2449 // The Legacy Autopair device requires no PIN or Passkey to pair because |
2448 // the daemon provides 0000 to the device for us. | 2450 // the daemon provides 0000 to the device for us. |
2449 BluetoothDevice* device = adapter_->GetDevice( | 2451 BluetoothDevice* device = adapter_->GetDevice( |
2450 FakeBluetoothDeviceClient::kLegacyAutopairAddress); | 2452 FakeBluetoothDeviceClient::kLegacyAutopairAddress); |
2451 ASSERT_TRUE(device != NULL); | 2453 ASSERT_TRUE(device != nullptr); |
2452 ASSERT_FALSE(device->IsPaired()); | 2454 ASSERT_FALSE(device->IsPaired()); |
2453 | 2455 |
2454 TestBluetoothAdapterObserver observer(adapter_); | 2456 TestBluetoothAdapterObserver observer(adapter_); |
2455 | 2457 |
2456 TestPairingDelegate pairing_delegate; | 2458 TestPairingDelegate pairing_delegate; |
2457 device->Connect(&pairing_delegate, GetCallback(), | 2459 device->Connect(&pairing_delegate, GetCallback(), |
2458 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2460 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2459 base::Unretained(this))); | 2461 base::Unretained(this))); |
2460 | 2462 |
2461 EXPECT_EQ(0, pairing_delegate.call_count_); | 2463 EXPECT_EQ(0, pairing_delegate.call_count_); |
(...skipping 30 matching lines...) Expand all Loading... |
2492 | 2494 |
2493 TEST_F(BluetoothChromeOSTest, PairDisplayPinCode) { | 2495 TEST_F(BluetoothChromeOSTest, PairDisplayPinCode) { |
2494 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2496 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2495 | 2497 |
2496 GetAdapter(); | 2498 GetAdapter(); |
2497 DiscoverDevices(); | 2499 DiscoverDevices(); |
2498 | 2500 |
2499 // Requires that we display a randomly generated PIN on the screen. | 2501 // Requires that we display a randomly generated PIN on the screen. |
2500 BluetoothDevice* device = adapter_->GetDevice( | 2502 BluetoothDevice* device = adapter_->GetDevice( |
2501 FakeBluetoothDeviceClient::kDisplayPinCodeAddress); | 2503 FakeBluetoothDeviceClient::kDisplayPinCodeAddress); |
2502 ASSERT_TRUE(device != NULL); | 2504 ASSERT_TRUE(device != nullptr); |
2503 ASSERT_FALSE(device->IsPaired()); | 2505 ASSERT_FALSE(device->IsPaired()); |
2504 | 2506 |
2505 TestBluetoothAdapterObserver observer(adapter_); | 2507 TestBluetoothAdapterObserver observer(adapter_); |
2506 | 2508 |
2507 TestPairingDelegate pairing_delegate; | 2509 TestPairingDelegate pairing_delegate; |
2508 device->Connect(&pairing_delegate, GetCallback(), | 2510 device->Connect(&pairing_delegate, GetCallback(), |
2509 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2511 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2510 base::Unretained(this))); | 2512 base::Unretained(this))); |
2511 | 2513 |
2512 EXPECT_EQ(1, pairing_delegate.call_count_); | 2514 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2546 TEST_F(BluetoothChromeOSTest, PairDisplayPasskey) { | 2548 TEST_F(BluetoothChromeOSTest, PairDisplayPasskey) { |
2547 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2549 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2548 | 2550 |
2549 GetAdapter(); | 2551 GetAdapter(); |
2550 DiscoverDevices(); | 2552 DiscoverDevices(); |
2551 | 2553 |
2552 // Requires that we display a randomly generated Passkey on the screen, | 2554 // Requires that we display a randomly generated Passkey on the screen, |
2553 // and notifies us as it's typed in. | 2555 // and notifies us as it's typed in. |
2554 BluetoothDevice* device = adapter_->GetDevice( | 2556 BluetoothDevice* device = adapter_->GetDevice( |
2555 FakeBluetoothDeviceClient::kDisplayPasskeyAddress); | 2557 FakeBluetoothDeviceClient::kDisplayPasskeyAddress); |
2556 ASSERT_TRUE(device != NULL); | 2558 ASSERT_TRUE(device != nullptr); |
2557 ASSERT_FALSE(device->IsPaired()); | 2559 ASSERT_FALSE(device->IsPaired()); |
2558 | 2560 |
2559 TestBluetoothAdapterObserver observer(adapter_); | 2561 TestBluetoothAdapterObserver observer(adapter_); |
2560 | 2562 |
2561 TestPairingDelegate pairing_delegate; | 2563 TestPairingDelegate pairing_delegate; |
2562 device->Connect(&pairing_delegate, GetCallback(), | 2564 device->Connect(&pairing_delegate, GetCallback(), |
2563 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2565 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2564 base::Unretained(this))); | 2566 base::Unretained(this))); |
2565 | 2567 |
2566 // One call for DisplayPasskey() and one for KeysEntered(). | 2568 // One call for DisplayPasskey() and one for KeysEntered(). |
2567 EXPECT_EQ(2, pairing_delegate.call_count_); | 2569 EXPECT_EQ(2, pairing_delegate.call_count_); |
2568 EXPECT_EQ(1, pairing_delegate.display_passkey_count_); | 2570 EXPECT_EQ(1, pairing_delegate.display_passkey_count_); |
2569 EXPECT_EQ(123456U, pairing_delegate.last_passkey_); | 2571 EXPECT_EQ(123456U, pairing_delegate.last_passkey_); |
2570 EXPECT_EQ(1, pairing_delegate.keys_entered_count_); | 2572 EXPECT_EQ(1, pairing_delegate.keys_entered_count_); |
2571 EXPECT_EQ(0U, pairing_delegate.last_entered_); | 2573 EXPECT_EQ(0U, pairing_delegate.last_entered_); |
2572 | 2574 |
2573 EXPECT_TRUE(device->IsConnecting()); | 2575 EXPECT_TRUE(device->IsConnecting()); |
2574 | 2576 |
2575 // One call to KeysEntered() for each key, including [enter]. | 2577 // One call to KeysEntered() for each key, including [enter]. |
2576 for(int i = 1; i <= 7; ++i) { | 2578 for (int i = 1; i <= 7; ++i) { |
2577 message_loop_.Run(); | 2579 message_loop_.Run(); |
2578 | 2580 |
2579 EXPECT_EQ(2 + i, pairing_delegate.call_count_); | 2581 EXPECT_EQ(2 + i, pairing_delegate.call_count_); |
2580 EXPECT_EQ(1 + i, pairing_delegate.keys_entered_count_); | 2582 EXPECT_EQ(1 + i, pairing_delegate.keys_entered_count_); |
2581 EXPECT_EQ(static_cast<uint32_t>(i), pairing_delegate.last_entered_); | 2583 EXPECT_EQ(static_cast<uint32_t>(i), pairing_delegate.last_entered_); |
2582 } | 2584 } |
2583 | 2585 |
2584 message_loop_.Run(); | 2586 message_loop_.Run(); |
2585 | 2587 |
2586 // 8 KeysEntered notifications (0 to 7, inclusive) and one aditional call for | 2588 // 8 KeysEntered notifications (0 to 7, inclusive) and one aditional call for |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2620 | 2622 |
2621 TEST_F(BluetoothChromeOSTest, PairRequestPinCode) { | 2623 TEST_F(BluetoothChromeOSTest, PairRequestPinCode) { |
2622 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2624 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2623 | 2625 |
2624 GetAdapter(); | 2626 GetAdapter(); |
2625 DiscoverDevices(); | 2627 DiscoverDevices(); |
2626 | 2628 |
2627 // Requires that the user enters a PIN for them. | 2629 // Requires that the user enters a PIN for them. |
2628 BluetoothDevice* device = adapter_->GetDevice( | 2630 BluetoothDevice* device = adapter_->GetDevice( |
2629 FakeBluetoothDeviceClient::kRequestPinCodeAddress); | 2631 FakeBluetoothDeviceClient::kRequestPinCodeAddress); |
2630 ASSERT_TRUE(device != NULL); | 2632 ASSERT_TRUE(device != nullptr); |
2631 ASSERT_FALSE(device->IsPaired()); | 2633 ASSERT_FALSE(device->IsPaired()); |
2632 | 2634 |
2633 TestBluetoothAdapterObserver observer(adapter_); | 2635 TestBluetoothAdapterObserver observer(adapter_); |
2634 | 2636 |
2635 TestPairingDelegate pairing_delegate; | 2637 TestPairingDelegate pairing_delegate; |
2636 device->Connect(&pairing_delegate, GetCallback(), | 2638 device->Connect(&pairing_delegate, GetCallback(), |
2637 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2639 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2638 base::Unretained(this))); | 2640 base::Unretained(this))); |
2639 | 2641 |
2640 EXPECT_EQ(1, pairing_delegate.call_count_); | 2642 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2674 | 2676 |
2675 TEST_F(BluetoothChromeOSTest, PairConfirmPasskey) { | 2677 TEST_F(BluetoothChromeOSTest, PairConfirmPasskey) { |
2676 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2678 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2677 | 2679 |
2678 GetAdapter(); | 2680 GetAdapter(); |
2679 DiscoverDevices(); | 2681 DiscoverDevices(); |
2680 | 2682 |
2681 // Requests that we confirm a displayed passkey. | 2683 // Requests that we confirm a displayed passkey. |
2682 BluetoothDevice* device = adapter_->GetDevice( | 2684 BluetoothDevice* device = adapter_->GetDevice( |
2683 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); | 2685 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); |
2684 ASSERT_TRUE(device != NULL); | 2686 ASSERT_TRUE(device != nullptr); |
2685 ASSERT_FALSE(device->IsPaired()); | 2687 ASSERT_FALSE(device->IsPaired()); |
2686 | 2688 |
2687 TestBluetoothAdapterObserver observer(adapter_); | 2689 TestBluetoothAdapterObserver observer(adapter_); |
2688 | 2690 |
2689 TestPairingDelegate pairing_delegate; | 2691 TestPairingDelegate pairing_delegate; |
2690 device->Connect(&pairing_delegate, GetCallback(), | 2692 device->Connect(&pairing_delegate, GetCallback(), |
2691 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2693 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2692 base::Unretained(this))); | 2694 base::Unretained(this))); |
2693 | 2695 |
2694 EXPECT_EQ(1, pairing_delegate.call_count_); | 2696 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2726 TEST_F(BluetoothChromeOSTest, PairRequestPasskey) { | 2728 TEST_F(BluetoothChromeOSTest, PairRequestPasskey) { |
2727 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2729 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2728 | 2730 |
2729 GetAdapter(); | 2731 GetAdapter(); |
2730 DiscoverDevices(); | 2732 DiscoverDevices(); |
2731 | 2733 |
2732 // Requires that the user enters a Passkey, this would be some kind of | 2734 // Requires that the user enters a Passkey, this would be some kind of |
2733 // device that has a display, but doesn't use "just works" - maybe a car? | 2735 // device that has a display, but doesn't use "just works" - maybe a car? |
2734 BluetoothDevice* device = adapter_->GetDevice( | 2736 BluetoothDevice* device = adapter_->GetDevice( |
2735 FakeBluetoothDeviceClient::kRequestPasskeyAddress); | 2737 FakeBluetoothDeviceClient::kRequestPasskeyAddress); |
2736 ASSERT_TRUE(device != NULL); | 2738 ASSERT_TRUE(device != nullptr); |
2737 ASSERT_FALSE(device->IsPaired()); | 2739 ASSERT_FALSE(device->IsPaired()); |
2738 | 2740 |
2739 TestBluetoothAdapterObserver observer(adapter_); | 2741 TestBluetoothAdapterObserver observer(adapter_); |
2740 | 2742 |
2741 TestPairingDelegate pairing_delegate; | 2743 TestPairingDelegate pairing_delegate; |
2742 device->Connect(&pairing_delegate, GetCallback(), | 2744 device->Connect(&pairing_delegate, GetCallback(), |
2743 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2745 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2744 base::Unretained(this))); | 2746 base::Unretained(this))); |
2745 | 2747 |
2746 EXPECT_EQ(1, pairing_delegate.call_count_); | 2748 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 30 matching lines...) Expand all Loading... |
2777 TEST_F(BluetoothChromeOSTest, PairJustWorks) { | 2779 TEST_F(BluetoothChromeOSTest, PairJustWorks) { |
2778 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2780 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2779 | 2781 |
2780 GetAdapter(); | 2782 GetAdapter(); |
2781 DiscoverDevices(); | 2783 DiscoverDevices(); |
2782 | 2784 |
2783 // Uses just-works pairing, since this is an outgoing pairing, no delegate | 2785 // Uses just-works pairing, since this is an outgoing pairing, no delegate |
2784 // interaction is required. | 2786 // interaction is required. |
2785 BluetoothDevice* device = adapter_->GetDevice( | 2787 BluetoothDevice* device = adapter_->GetDevice( |
2786 FakeBluetoothDeviceClient::kJustWorksAddress); | 2788 FakeBluetoothDeviceClient::kJustWorksAddress); |
2787 ASSERT_TRUE(device != NULL); | 2789 ASSERT_TRUE(device != nullptr); |
2788 ASSERT_FALSE(device->IsPaired()); | 2790 ASSERT_FALSE(device->IsPaired()); |
2789 | 2791 |
2790 TestBluetoothAdapterObserver observer(adapter_); | 2792 TestBluetoothAdapterObserver observer(adapter_); |
2791 | 2793 |
2792 TestPairingDelegate pairing_delegate; | 2794 TestPairingDelegate pairing_delegate; |
2793 device->Connect(&pairing_delegate, GetCallback(), | 2795 device->Connect(&pairing_delegate, GetCallback(), |
2794 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2796 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2795 base::Unretained(this))); | 2797 base::Unretained(this))); |
2796 | 2798 |
2797 EXPECT_EQ(0, pairing_delegate.call_count_); | 2799 EXPECT_EQ(0, pairing_delegate.call_count_); |
(...skipping 24 matching lines...) Expand all Loading... |
2822 } | 2824 } |
2823 | 2825 |
2824 TEST_F(BluetoothChromeOSTest, PairUnpairableDeviceFails) { | 2826 TEST_F(BluetoothChromeOSTest, PairUnpairableDeviceFails) { |
2825 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2827 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2826 | 2828 |
2827 GetAdapter(); | 2829 GetAdapter(); |
2828 DiscoverDevice(FakeBluetoothDeviceClient::kUnconnectableDeviceAddress); | 2830 DiscoverDevice(FakeBluetoothDeviceClient::kUnconnectableDeviceAddress); |
2829 | 2831 |
2830 BluetoothDevice* device = adapter_->GetDevice( | 2832 BluetoothDevice* device = adapter_->GetDevice( |
2831 FakeBluetoothDeviceClient::kUnpairableDeviceAddress); | 2833 FakeBluetoothDeviceClient::kUnpairableDeviceAddress); |
2832 ASSERT_TRUE(device != NULL); | 2834 ASSERT_TRUE(device != nullptr); |
2833 ASSERT_FALSE(device->IsPaired()); | 2835 ASSERT_FALSE(device->IsPaired()); |
2834 | 2836 |
2835 TestBluetoothAdapterObserver observer(adapter_); | 2837 TestBluetoothAdapterObserver observer(adapter_); |
2836 | 2838 |
2837 TestPairingDelegate pairing_delegate; | 2839 TestPairingDelegate pairing_delegate; |
2838 device->Connect(&pairing_delegate, GetCallback(), | 2840 device->Connect(&pairing_delegate, GetCallback(), |
2839 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2841 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2840 base::Unretained(this))); | 2842 base::Unretained(this))); |
2841 | 2843 |
2842 EXPECT_EQ(0, pairing_delegate.call_count_); | 2844 EXPECT_EQ(0, pairing_delegate.call_count_); |
(...skipping 14 matching lines...) Expand all Loading... |
2857 | 2859 |
2858 TEST_F(BluetoothChromeOSTest, PairingFails) { | 2860 TEST_F(BluetoothChromeOSTest, PairingFails) { |
2859 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2861 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2860 | 2862 |
2861 GetAdapter(); | 2863 GetAdapter(); |
2862 DiscoverDevice(FakeBluetoothDeviceClient::kVanishingDeviceAddress); | 2864 DiscoverDevice(FakeBluetoothDeviceClient::kVanishingDeviceAddress); |
2863 | 2865 |
2864 // The vanishing device times out during pairing | 2866 // The vanishing device times out during pairing |
2865 BluetoothDevice* device = adapter_->GetDevice( | 2867 BluetoothDevice* device = adapter_->GetDevice( |
2866 FakeBluetoothDeviceClient::kVanishingDeviceAddress); | 2868 FakeBluetoothDeviceClient::kVanishingDeviceAddress); |
2867 ASSERT_TRUE(device != NULL); | 2869 ASSERT_TRUE(device != nullptr); |
2868 ASSERT_FALSE(device->IsPaired()); | 2870 ASSERT_FALSE(device->IsPaired()); |
2869 | 2871 |
2870 TestBluetoothAdapterObserver observer(adapter_); | 2872 TestBluetoothAdapterObserver observer(adapter_); |
2871 | 2873 |
2872 TestPairingDelegate pairing_delegate; | 2874 TestPairingDelegate pairing_delegate; |
2873 device->Connect(&pairing_delegate, GetCallback(), | 2875 device->Connect(&pairing_delegate, GetCallback(), |
2874 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2876 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2875 base::Unretained(this))); | 2877 base::Unretained(this))); |
2876 | 2878 |
2877 EXPECT_EQ(0, pairing_delegate.call_count_); | 2879 EXPECT_EQ(0, pairing_delegate.call_count_); |
(...skipping 15 matching lines...) Expand all Loading... |
2893 TEST_F(BluetoothChromeOSTest, PairingFailsAtConnection) { | 2895 TEST_F(BluetoothChromeOSTest, PairingFailsAtConnection) { |
2894 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2896 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2895 | 2897 |
2896 GetAdapter(); | 2898 GetAdapter(); |
2897 DiscoverDevices(); | 2899 DiscoverDevices(); |
2898 | 2900 |
2899 // Everything seems to go according to plan with the unconnectable device; | 2901 // Everything seems to go according to plan with the unconnectable device; |
2900 // it pairs, but then you can't make connections to it after. | 2902 // it pairs, but then you can't make connections to it after. |
2901 BluetoothDevice* device = adapter_->GetDevice( | 2903 BluetoothDevice* device = adapter_->GetDevice( |
2902 FakeBluetoothDeviceClient::kUnconnectableDeviceAddress); | 2904 FakeBluetoothDeviceClient::kUnconnectableDeviceAddress); |
2903 ASSERT_TRUE(device != NULL); | 2905 ASSERT_TRUE(device != nullptr); |
2904 ASSERT_FALSE(device->IsPaired()); | 2906 ASSERT_FALSE(device->IsPaired()); |
2905 | 2907 |
2906 TestBluetoothAdapterObserver observer(adapter_); | 2908 TestBluetoothAdapterObserver observer(adapter_); |
2907 | 2909 |
2908 TestPairingDelegate pairing_delegate; | 2910 TestPairingDelegate pairing_delegate; |
2909 device->Connect(&pairing_delegate, GetCallback(), | 2911 device->Connect(&pairing_delegate, GetCallback(), |
2910 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2912 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2911 base::Unretained(this))); | 2913 base::Unretained(this))); |
2912 | 2914 |
2913 EXPECT_EQ(0, pairing_delegate.call_count_); | 2915 EXPECT_EQ(0, pairing_delegate.call_count_); |
(...skipping 26 matching lines...) Expand all Loading... |
2940 | 2942 |
2941 TEST_F(BluetoothChromeOSTest, PairingRejectedAtPinCode) { | 2943 TEST_F(BluetoothChromeOSTest, PairingRejectedAtPinCode) { |
2942 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2944 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2943 | 2945 |
2944 GetAdapter(); | 2946 GetAdapter(); |
2945 DiscoverDevices(); | 2947 DiscoverDevices(); |
2946 | 2948 |
2947 // Reject the pairing after we receive a request for the PIN code. | 2949 // Reject the pairing after we receive a request for the PIN code. |
2948 BluetoothDevice* device = adapter_->GetDevice( | 2950 BluetoothDevice* device = adapter_->GetDevice( |
2949 FakeBluetoothDeviceClient::kRequestPinCodeAddress); | 2951 FakeBluetoothDeviceClient::kRequestPinCodeAddress); |
2950 ASSERT_TRUE(device != NULL); | 2952 ASSERT_TRUE(device != nullptr); |
2951 ASSERT_FALSE(device->IsPaired()); | 2953 ASSERT_FALSE(device->IsPaired()); |
2952 | 2954 |
2953 TestBluetoothAdapterObserver observer(adapter_); | 2955 TestBluetoothAdapterObserver observer(adapter_); |
2954 | 2956 |
2955 TestPairingDelegate pairing_delegate; | 2957 TestPairingDelegate pairing_delegate; |
2956 device->Connect(&pairing_delegate, GetCallback(), | 2958 device->Connect(&pairing_delegate, GetCallback(), |
2957 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2959 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2958 base::Unretained(this))); | 2960 base::Unretained(this))); |
2959 | 2961 |
2960 EXPECT_EQ(1, pairing_delegate.call_count_); | 2962 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 17 matching lines...) Expand all Loading... |
2978 | 2980 |
2979 TEST_F(BluetoothChromeOSTest, PairingCancelledAtPinCode) { | 2981 TEST_F(BluetoothChromeOSTest, PairingCancelledAtPinCode) { |
2980 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 2982 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
2981 | 2983 |
2982 GetAdapter(); | 2984 GetAdapter(); |
2983 DiscoverDevices(); | 2985 DiscoverDevices(); |
2984 | 2986 |
2985 // Cancel the pairing after we receive a request for the PIN code. | 2987 // Cancel the pairing after we receive a request for the PIN code. |
2986 BluetoothDevice* device = adapter_->GetDevice( | 2988 BluetoothDevice* device = adapter_->GetDevice( |
2987 FakeBluetoothDeviceClient::kRequestPinCodeAddress); | 2989 FakeBluetoothDeviceClient::kRequestPinCodeAddress); |
2988 ASSERT_TRUE(device != NULL); | 2990 ASSERT_TRUE(device != nullptr); |
2989 ASSERT_FALSE(device->IsPaired()); | 2991 ASSERT_FALSE(device->IsPaired()); |
2990 | 2992 |
2991 TestBluetoothAdapterObserver observer(adapter_); | 2993 TestBluetoothAdapterObserver observer(adapter_); |
2992 | 2994 |
2993 TestPairingDelegate pairing_delegate; | 2995 TestPairingDelegate pairing_delegate; |
2994 device->Connect(&pairing_delegate, GetCallback(), | 2996 device->Connect(&pairing_delegate, GetCallback(), |
2995 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 2997 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
2996 base::Unretained(this))); | 2998 base::Unretained(this))); |
2997 | 2999 |
2998 EXPECT_EQ(1, pairing_delegate.call_count_); | 3000 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 17 matching lines...) Expand all Loading... |
3016 | 3018 |
3017 TEST_F(BluetoothChromeOSTest, PairingRejectedAtPasskey) { | 3019 TEST_F(BluetoothChromeOSTest, PairingRejectedAtPasskey) { |
3018 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3020 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3019 | 3021 |
3020 GetAdapter(); | 3022 GetAdapter(); |
3021 DiscoverDevices(); | 3023 DiscoverDevices(); |
3022 | 3024 |
3023 // Reject the pairing after we receive a request for the passkey. | 3025 // Reject the pairing after we receive a request for the passkey. |
3024 BluetoothDevice* device = adapter_->GetDevice( | 3026 BluetoothDevice* device = adapter_->GetDevice( |
3025 FakeBluetoothDeviceClient::kRequestPasskeyAddress); | 3027 FakeBluetoothDeviceClient::kRequestPasskeyAddress); |
3026 ASSERT_TRUE(device != NULL); | 3028 ASSERT_TRUE(device != nullptr); |
3027 ASSERT_FALSE(device->IsPaired()); | 3029 ASSERT_FALSE(device->IsPaired()); |
3028 | 3030 |
3029 TestBluetoothAdapterObserver observer(adapter_); | 3031 TestBluetoothAdapterObserver observer(adapter_); |
3030 | 3032 |
3031 TestPairingDelegate pairing_delegate; | 3033 TestPairingDelegate pairing_delegate; |
3032 device->Connect(&pairing_delegate, GetCallback(), | 3034 device->Connect(&pairing_delegate, GetCallback(), |
3033 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 3035 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
3034 base::Unretained(this))); | 3036 base::Unretained(this))); |
3035 | 3037 |
3036 EXPECT_EQ(1, pairing_delegate.call_count_); | 3038 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 17 matching lines...) Expand all Loading... |
3054 | 3056 |
3055 TEST_F(BluetoothChromeOSTest, PairingCancelledAtPasskey) { | 3057 TEST_F(BluetoothChromeOSTest, PairingCancelledAtPasskey) { |
3056 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3058 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3057 | 3059 |
3058 GetAdapter(); | 3060 GetAdapter(); |
3059 DiscoverDevices(); | 3061 DiscoverDevices(); |
3060 | 3062 |
3061 // Cancel the pairing after we receive a request for the passkey. | 3063 // Cancel the pairing after we receive a request for the passkey. |
3062 BluetoothDevice* device = adapter_->GetDevice( | 3064 BluetoothDevice* device = adapter_->GetDevice( |
3063 FakeBluetoothDeviceClient::kRequestPasskeyAddress); | 3065 FakeBluetoothDeviceClient::kRequestPasskeyAddress); |
3064 ASSERT_TRUE(device != NULL); | 3066 ASSERT_TRUE(device != nullptr); |
3065 ASSERT_FALSE(device->IsPaired()); | 3067 ASSERT_FALSE(device->IsPaired()); |
3066 | 3068 |
3067 TestBluetoothAdapterObserver observer(adapter_); | 3069 TestBluetoothAdapterObserver observer(adapter_); |
3068 | 3070 |
3069 TestPairingDelegate pairing_delegate; | 3071 TestPairingDelegate pairing_delegate; |
3070 device->Connect(&pairing_delegate, GetCallback(), | 3072 device->Connect(&pairing_delegate, GetCallback(), |
3071 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 3073 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
3072 base::Unretained(this))); | 3074 base::Unretained(this))); |
3073 | 3075 |
3074 EXPECT_EQ(1, pairing_delegate.call_count_); | 3076 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 17 matching lines...) Expand all Loading... |
3092 | 3094 |
3093 TEST_F(BluetoothChromeOSTest, PairingRejectedAtConfirmation) { | 3095 TEST_F(BluetoothChromeOSTest, PairingRejectedAtConfirmation) { |
3094 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3096 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3095 | 3097 |
3096 GetAdapter(); | 3098 GetAdapter(); |
3097 DiscoverDevices(); | 3099 DiscoverDevices(); |
3098 | 3100 |
3099 // Reject the pairing after we receive a request for passkey confirmation. | 3101 // Reject the pairing after we receive a request for passkey confirmation. |
3100 BluetoothDevice* device = adapter_->GetDevice( | 3102 BluetoothDevice* device = adapter_->GetDevice( |
3101 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); | 3103 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); |
3102 ASSERT_TRUE(device != NULL); | 3104 ASSERT_TRUE(device != nullptr); |
3103 ASSERT_FALSE(device->IsPaired()); | 3105 ASSERT_FALSE(device->IsPaired()); |
3104 | 3106 |
3105 TestBluetoothAdapterObserver observer(adapter_); | 3107 TestBluetoothAdapterObserver observer(adapter_); |
3106 | 3108 |
3107 TestPairingDelegate pairing_delegate; | 3109 TestPairingDelegate pairing_delegate; |
3108 device->Connect(&pairing_delegate, GetCallback(), | 3110 device->Connect(&pairing_delegate, GetCallback(), |
3109 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 3111 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
3110 base::Unretained(this))); | 3112 base::Unretained(this))); |
3111 | 3113 |
3112 EXPECT_EQ(1, pairing_delegate.call_count_); | 3114 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 17 matching lines...) Expand all Loading... |
3130 | 3132 |
3131 TEST_F(BluetoothChromeOSTest, PairingCancelledAtConfirmation) { | 3133 TEST_F(BluetoothChromeOSTest, PairingCancelledAtConfirmation) { |
3132 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3134 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3133 | 3135 |
3134 GetAdapter(); | 3136 GetAdapter(); |
3135 DiscoverDevices(); | 3137 DiscoverDevices(); |
3136 | 3138 |
3137 // Cancel the pairing after we receive a request for the passkey. | 3139 // Cancel the pairing after we receive a request for the passkey. |
3138 BluetoothDevice* device = adapter_->GetDevice( | 3140 BluetoothDevice* device = adapter_->GetDevice( |
3139 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); | 3141 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); |
3140 ASSERT_TRUE(device != NULL); | 3142 ASSERT_TRUE(device != nullptr); |
3141 ASSERT_FALSE(device->IsPaired()); | 3143 ASSERT_FALSE(device->IsPaired()); |
3142 | 3144 |
3143 TestBluetoothAdapterObserver observer(adapter_); | 3145 TestBluetoothAdapterObserver observer(adapter_); |
3144 | 3146 |
3145 TestPairingDelegate pairing_delegate; | 3147 TestPairingDelegate pairing_delegate; |
3146 device->Connect(&pairing_delegate, GetCallback(), | 3148 device->Connect(&pairing_delegate, GetCallback(), |
3147 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 3149 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
3148 base::Unretained(this))); | 3150 base::Unretained(this))); |
3149 | 3151 |
3150 EXPECT_EQ(1, pairing_delegate.call_count_); | 3152 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 17 matching lines...) Expand all Loading... |
3168 | 3170 |
3169 TEST_F(BluetoothChromeOSTest, PairingCancelledInFlight) { | 3171 TEST_F(BluetoothChromeOSTest, PairingCancelledInFlight) { |
3170 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3172 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3171 | 3173 |
3172 GetAdapter(); | 3174 GetAdapter(); |
3173 DiscoverDevices(); | 3175 DiscoverDevices(); |
3174 | 3176 |
3175 // Cancel the pairing while we're waiting for the remote host. | 3177 // Cancel the pairing while we're waiting for the remote host. |
3176 BluetoothDevice* device = adapter_->GetDevice( | 3178 BluetoothDevice* device = adapter_->GetDevice( |
3177 FakeBluetoothDeviceClient::kLegacyAutopairAddress); | 3179 FakeBluetoothDeviceClient::kLegacyAutopairAddress); |
3178 ASSERT_TRUE(device != NULL); | 3180 ASSERT_TRUE(device != nullptr); |
3179 ASSERT_FALSE(device->IsPaired()); | 3181 ASSERT_FALSE(device->IsPaired()); |
3180 | 3182 |
3181 TestBluetoothAdapterObserver observer(adapter_); | 3183 TestBluetoothAdapterObserver observer(adapter_); |
3182 | 3184 |
3183 TestPairingDelegate pairing_delegate; | 3185 TestPairingDelegate pairing_delegate; |
3184 device->Connect(&pairing_delegate, GetCallback(), | 3186 device->Connect(&pairing_delegate, GetCallback(), |
3185 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 3187 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
3186 base::Unretained(this))); | 3188 base::Unretained(this))); |
3187 | 3189 |
3188 EXPECT_EQ(0, pairing_delegate.call_count_); | 3190 EXPECT_EQ(0, pairing_delegate.call_count_); |
(...skipping 23 matching lines...) Expand all Loading... |
3212 adapter_->AddPairingDelegate( | 3214 adapter_->AddPairingDelegate( |
3213 &pairing_delegate, | 3215 &pairing_delegate, |
3214 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); | 3216 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); |
3215 | 3217 |
3216 // Requires that we provide a PIN code. | 3218 // Requires that we provide a PIN code. |
3217 fake_bluetooth_device_client_->CreateDevice( | 3219 fake_bluetooth_device_client_->CreateDevice( |
3218 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3220 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3219 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath)); | 3221 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath)); |
3220 BluetoothDevice* device = adapter_->GetDevice( | 3222 BluetoothDevice* device = adapter_->GetDevice( |
3221 FakeBluetoothDeviceClient::kRequestPinCodeAddress); | 3223 FakeBluetoothDeviceClient::kRequestPinCodeAddress); |
3222 ASSERT_TRUE(device != NULL); | 3224 ASSERT_TRUE(device != nullptr); |
3223 ASSERT_FALSE(device->IsPaired()); | 3225 ASSERT_FALSE(device->IsPaired()); |
3224 | 3226 |
3225 TestBluetoothAdapterObserver observer(adapter_); | 3227 TestBluetoothAdapterObserver observer(adapter_); |
3226 | 3228 |
3227 fake_bluetooth_device_client_->SimulatePairing( | 3229 fake_bluetooth_device_client_->SimulatePairing( |
3228 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath), true, | 3230 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath), true, |
3229 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3231 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3230 base::Unretained(this))); | 3232 base::Unretained(this))); |
3231 | 3233 |
3232 EXPECT_EQ(1, pairing_delegate.call_count_); | 3234 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 14 matching lines...) Expand all Loading... |
3247 | 3249 |
3248 // Make sure the trusted property has been set to true. | 3250 // Make sure the trusted property has been set to true. |
3249 FakeBluetoothDeviceClient::Properties* properties = | 3251 FakeBluetoothDeviceClient::Properties* properties = |
3250 fake_bluetooth_device_client_->GetProperties( | 3252 fake_bluetooth_device_client_->GetProperties( |
3251 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath)); | 3253 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath)); |
3252 ASSERT_TRUE(properties->trusted.value()); | 3254 ASSERT_TRUE(properties->trusted.value()); |
3253 | 3255 |
3254 // No pairing context should remain on the device. | 3256 // No pairing context should remain on the device. |
3255 BluetoothDeviceChromeOS* device_chromeos = | 3257 BluetoothDeviceChromeOS* device_chromeos = |
3256 static_cast<BluetoothDeviceChromeOS*>(device); | 3258 static_cast<BluetoothDeviceChromeOS*>(device); |
3257 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3259 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3258 } | 3260 } |
3259 | 3261 |
3260 TEST_F(BluetoothChromeOSTest, IncomingPairConfirmPasskey) { | 3262 TEST_F(BluetoothChromeOSTest, IncomingPairConfirmPasskey) { |
3261 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3263 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3262 | 3264 |
3263 GetAdapter(); | 3265 GetAdapter(); |
3264 | 3266 |
3265 TestPairingDelegate pairing_delegate; | 3267 TestPairingDelegate pairing_delegate; |
3266 adapter_->AddPairingDelegate( | 3268 adapter_->AddPairingDelegate( |
3267 &pairing_delegate, | 3269 &pairing_delegate, |
3268 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); | 3270 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); |
3269 | 3271 |
3270 // Requests that we confirm a displayed passkey. | 3272 // Requests that we confirm a displayed passkey. |
3271 fake_bluetooth_device_client_->CreateDevice( | 3273 fake_bluetooth_device_client_->CreateDevice( |
3272 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3274 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3273 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath)); | 3275 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath)); |
3274 BluetoothDevice* device = adapter_->GetDevice( | 3276 BluetoothDevice* device = adapter_->GetDevice( |
3275 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); | 3277 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); |
3276 ASSERT_TRUE(device != NULL); | 3278 ASSERT_TRUE(device != nullptr); |
3277 ASSERT_FALSE(device->IsPaired()); | 3279 ASSERT_FALSE(device->IsPaired()); |
3278 | 3280 |
3279 TestBluetoothAdapterObserver observer(adapter_); | 3281 TestBluetoothAdapterObserver observer(adapter_); |
3280 | 3282 |
3281 fake_bluetooth_device_client_->SimulatePairing( | 3283 fake_bluetooth_device_client_->SimulatePairing( |
3282 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath), true, | 3284 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath), true, |
3283 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3285 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3284 base::Unretained(this))); | 3286 base::Unretained(this))); |
3285 | 3287 |
3286 EXPECT_EQ(1, pairing_delegate.call_count_); | 3288 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 15 matching lines...) Expand all Loading... |
3302 | 3304 |
3303 // Make sure the trusted property has been set to true. | 3305 // Make sure the trusted property has been set to true. |
3304 FakeBluetoothDeviceClient::Properties* properties = | 3306 FakeBluetoothDeviceClient::Properties* properties = |
3305 fake_bluetooth_device_client_->GetProperties( | 3307 fake_bluetooth_device_client_->GetProperties( |
3306 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath)); | 3308 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath)); |
3307 ASSERT_TRUE(properties->trusted.value()); | 3309 ASSERT_TRUE(properties->trusted.value()); |
3308 | 3310 |
3309 // No pairing context should remain on the device. | 3311 // No pairing context should remain on the device. |
3310 BluetoothDeviceChromeOS* device_chromeos = | 3312 BluetoothDeviceChromeOS* device_chromeos = |
3311 static_cast<BluetoothDeviceChromeOS*>(device); | 3313 static_cast<BluetoothDeviceChromeOS*>(device); |
3312 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3314 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3313 } | 3315 } |
3314 | 3316 |
3315 TEST_F(BluetoothChromeOSTest, IncomingPairRequestPasskey) { | 3317 TEST_F(BluetoothChromeOSTest, IncomingPairRequestPasskey) { |
3316 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3318 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3317 | 3319 |
3318 GetAdapter(); | 3320 GetAdapter(); |
3319 | 3321 |
3320 TestPairingDelegate pairing_delegate; | 3322 TestPairingDelegate pairing_delegate; |
3321 adapter_->AddPairingDelegate( | 3323 adapter_->AddPairingDelegate( |
3322 &pairing_delegate, | 3324 &pairing_delegate, |
3323 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); | 3325 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); |
3324 | 3326 |
3325 // Requests that we provide a Passkey. | 3327 // Requests that we provide a Passkey. |
3326 fake_bluetooth_device_client_->CreateDevice( | 3328 fake_bluetooth_device_client_->CreateDevice( |
3327 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3329 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3328 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath)); | 3330 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath)); |
3329 BluetoothDevice* device = adapter_->GetDevice( | 3331 BluetoothDevice* device = adapter_->GetDevice( |
3330 FakeBluetoothDeviceClient::kRequestPasskeyAddress); | 3332 FakeBluetoothDeviceClient::kRequestPasskeyAddress); |
3331 ASSERT_TRUE(device != NULL); | 3333 ASSERT_TRUE(device != nullptr); |
3332 ASSERT_FALSE(device->IsPaired()); | 3334 ASSERT_FALSE(device->IsPaired()); |
3333 | 3335 |
3334 TestBluetoothAdapterObserver observer(adapter_); | 3336 TestBluetoothAdapterObserver observer(adapter_); |
3335 | 3337 |
3336 fake_bluetooth_device_client_->SimulatePairing( | 3338 fake_bluetooth_device_client_->SimulatePairing( |
3337 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath), true, | 3339 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath), true, |
3338 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3340 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3339 base::Unretained(this))); | 3341 base::Unretained(this))); |
3340 | 3342 |
3341 EXPECT_EQ(1, pairing_delegate.call_count_); | 3343 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 14 matching lines...) Expand all Loading... |
3356 | 3358 |
3357 // Make sure the trusted property has been set to true. | 3359 // Make sure the trusted property has been set to true. |
3358 FakeBluetoothDeviceClient::Properties* properties = | 3360 FakeBluetoothDeviceClient::Properties* properties = |
3359 fake_bluetooth_device_client_->GetProperties( | 3361 fake_bluetooth_device_client_->GetProperties( |
3360 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath)); | 3362 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath)); |
3361 ASSERT_TRUE(properties->trusted.value()); | 3363 ASSERT_TRUE(properties->trusted.value()); |
3362 | 3364 |
3363 // No pairing context should remain on the device. | 3365 // No pairing context should remain on the device. |
3364 BluetoothDeviceChromeOS* device_chromeos = | 3366 BluetoothDeviceChromeOS* device_chromeos = |
3365 static_cast<BluetoothDeviceChromeOS*>(device); | 3367 static_cast<BluetoothDeviceChromeOS*>(device); |
3366 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3368 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3367 } | 3369 } |
3368 | 3370 |
3369 TEST_F(BluetoothChromeOSTest, IncomingPairJustWorks) { | 3371 TEST_F(BluetoothChromeOSTest, IncomingPairJustWorks) { |
3370 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3372 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3371 | 3373 |
3372 GetAdapter(); | 3374 GetAdapter(); |
3373 | 3375 |
3374 TestPairingDelegate pairing_delegate; | 3376 TestPairingDelegate pairing_delegate; |
3375 adapter_->AddPairingDelegate( | 3377 adapter_->AddPairingDelegate( |
3376 &pairing_delegate, | 3378 &pairing_delegate, |
3377 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); | 3379 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); |
3378 | 3380 |
3379 // Uses just-works pairing so, sinec this an incoming pairing, require | 3381 // Uses just-works pairing so, sinec this an incoming pairing, require |
3380 // authorization from the user. | 3382 // authorization from the user. |
3381 fake_bluetooth_device_client_->CreateDevice( | 3383 fake_bluetooth_device_client_->CreateDevice( |
3382 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3384 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3383 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath)); | 3385 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath)); |
3384 BluetoothDevice* device = adapter_->GetDevice( | 3386 BluetoothDevice* device = adapter_->GetDevice( |
3385 FakeBluetoothDeviceClient::kJustWorksAddress); | 3387 FakeBluetoothDeviceClient::kJustWorksAddress); |
3386 ASSERT_TRUE(device != NULL); | 3388 ASSERT_TRUE(device != nullptr); |
3387 ASSERT_FALSE(device->IsPaired()); | 3389 ASSERT_FALSE(device->IsPaired()); |
3388 | 3390 |
3389 TestBluetoothAdapterObserver observer(adapter_); | 3391 TestBluetoothAdapterObserver observer(adapter_); |
3390 | 3392 |
3391 fake_bluetooth_device_client_->SimulatePairing( | 3393 fake_bluetooth_device_client_->SimulatePairing( |
3392 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath), true, | 3394 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath), true, |
3393 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3395 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3394 base::Unretained(this))); | 3396 base::Unretained(this))); |
3395 | 3397 |
3396 EXPECT_EQ(1, pairing_delegate.call_count_); | 3398 EXPECT_EQ(1, pairing_delegate.call_count_); |
(...skipping 14 matching lines...) Expand all Loading... |
3411 | 3413 |
3412 // Make sure the trusted property has been set to true. | 3414 // Make sure the trusted property has been set to true. |
3413 FakeBluetoothDeviceClient::Properties* properties = | 3415 FakeBluetoothDeviceClient::Properties* properties = |
3414 fake_bluetooth_device_client_->GetProperties( | 3416 fake_bluetooth_device_client_->GetProperties( |
3415 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath)); | 3417 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath)); |
3416 ASSERT_TRUE(properties->trusted.value()); | 3418 ASSERT_TRUE(properties->trusted.value()); |
3417 | 3419 |
3418 // No pairing context should remain on the device. | 3420 // No pairing context should remain on the device. |
3419 BluetoothDeviceChromeOS* device_chromeos = | 3421 BluetoothDeviceChromeOS* device_chromeos = |
3420 static_cast<BluetoothDeviceChromeOS*>(device); | 3422 static_cast<BluetoothDeviceChromeOS*>(device); |
3421 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3423 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3422 } | 3424 } |
3423 | 3425 |
3424 TEST_F(BluetoothChromeOSTest, IncomingPairRequestPinCodeWithoutDelegate) { | 3426 TEST_F(BluetoothChromeOSTest, IncomingPairRequestPinCodeWithoutDelegate) { |
3425 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3427 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3426 | 3428 |
3427 GetAdapter(); | 3429 GetAdapter(); |
3428 | 3430 |
3429 // Requires that we provide a PIN Code, without a pairing delegate, | 3431 // Requires that we provide a PIN Code, without a pairing delegate, |
3430 // that will be rejected. | 3432 // that will be rejected. |
3431 fake_bluetooth_device_client_->CreateDevice( | 3433 fake_bluetooth_device_client_->CreateDevice( |
3432 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3434 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3433 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath)); | 3435 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath)); |
3434 BluetoothDevice* device = adapter_->GetDevice( | 3436 BluetoothDevice* device = adapter_->GetDevice( |
3435 FakeBluetoothDeviceClient::kRequestPinCodeAddress); | 3437 FakeBluetoothDeviceClient::kRequestPinCodeAddress); |
3436 ASSERT_TRUE(device != NULL); | 3438 ASSERT_TRUE(device != nullptr); |
3437 ASSERT_FALSE(device->IsPaired()); | 3439 ASSERT_FALSE(device->IsPaired()); |
3438 | 3440 |
3439 TestBluetoothAdapterObserver observer(adapter_); | 3441 TestBluetoothAdapterObserver observer(adapter_); |
3440 | 3442 |
3441 fake_bluetooth_device_client_->SimulatePairing( | 3443 fake_bluetooth_device_client_->SimulatePairing( |
3442 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath), true, | 3444 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPinCodePath), true, |
3443 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3445 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3444 base::Unretained(this))); | 3446 base::Unretained(this))); |
3445 | 3447 |
3446 message_loop_.Run(); | 3448 message_loop_.Run(); |
3447 | 3449 |
3448 EXPECT_EQ(0, callback_count_); | 3450 EXPECT_EQ(0, callback_count_); |
3449 EXPECT_EQ(1, error_callback_count_); | 3451 EXPECT_EQ(1, error_callback_count_); |
3450 EXPECT_EQ(bluetooth_device::kErrorAuthenticationRejected, last_client_error_); | 3452 EXPECT_EQ(bluetooth_device::kErrorAuthenticationRejected, last_client_error_); |
3451 | 3453 |
3452 // No changes should be observer. | 3454 // No changes should be observer. |
3453 EXPECT_EQ(0, observer.device_changed_count()); | 3455 EXPECT_EQ(0, observer.device_changed_count()); |
3454 | 3456 |
3455 EXPECT_FALSE(device->IsPaired()); | 3457 EXPECT_FALSE(device->IsPaired()); |
3456 | 3458 |
3457 // No pairing context should remain on the device. | 3459 // No pairing context should remain on the device. |
3458 BluetoothDeviceChromeOS* device_chromeos = | 3460 BluetoothDeviceChromeOS* device_chromeos = |
3459 static_cast<BluetoothDeviceChromeOS*>(device); | 3461 static_cast<BluetoothDeviceChromeOS*>(device); |
3460 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3462 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3461 } | 3463 } |
3462 | 3464 |
3463 TEST_F(BluetoothChromeOSTest, IncomingPairConfirmPasskeyWithoutDelegate) { | 3465 TEST_F(BluetoothChromeOSTest, IncomingPairConfirmPasskeyWithoutDelegate) { |
3464 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3466 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3465 | 3467 |
3466 GetAdapter(); | 3468 GetAdapter(); |
3467 | 3469 |
3468 // Requests that we confirm a displayed passkey, without a pairing delegate, | 3470 // Requests that we confirm a displayed passkey, without a pairing delegate, |
3469 // that will be rejected. | 3471 // that will be rejected. |
3470 fake_bluetooth_device_client_->CreateDevice( | 3472 fake_bluetooth_device_client_->CreateDevice( |
3471 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3473 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3472 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath)); | 3474 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath)); |
3473 BluetoothDevice* device = adapter_->GetDevice( | 3475 BluetoothDevice* device = adapter_->GetDevice( |
3474 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); | 3476 FakeBluetoothDeviceClient::kConfirmPasskeyAddress); |
3475 ASSERT_TRUE(device != NULL); | 3477 ASSERT_TRUE(device != nullptr); |
3476 ASSERT_FALSE(device->IsPaired()); | 3478 ASSERT_FALSE(device->IsPaired()); |
3477 | 3479 |
3478 TestBluetoothAdapterObserver observer(adapter_); | 3480 TestBluetoothAdapterObserver observer(adapter_); |
3479 | 3481 |
3480 fake_bluetooth_device_client_->SimulatePairing( | 3482 fake_bluetooth_device_client_->SimulatePairing( |
3481 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath), true, | 3483 dbus::ObjectPath(FakeBluetoothDeviceClient::kConfirmPasskeyPath), true, |
3482 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3484 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3483 base::Unretained(this))); | 3485 base::Unretained(this))); |
3484 | 3486 |
3485 message_loop_.Run(); | 3487 message_loop_.Run(); |
3486 | 3488 |
3487 EXPECT_EQ(0, callback_count_); | 3489 EXPECT_EQ(0, callback_count_); |
3488 EXPECT_EQ(1, error_callback_count_); | 3490 EXPECT_EQ(1, error_callback_count_); |
3489 EXPECT_EQ(bluetooth_device::kErrorAuthenticationRejected, last_client_error_); | 3491 EXPECT_EQ(bluetooth_device::kErrorAuthenticationRejected, last_client_error_); |
3490 | 3492 |
3491 // No changes should be observer. | 3493 // No changes should be observer. |
3492 EXPECT_EQ(0, observer.device_changed_count()); | 3494 EXPECT_EQ(0, observer.device_changed_count()); |
3493 | 3495 |
3494 EXPECT_FALSE(device->IsPaired()); | 3496 EXPECT_FALSE(device->IsPaired()); |
3495 | 3497 |
3496 // No pairing context should remain on the device. | 3498 // No pairing context should remain on the device. |
3497 BluetoothDeviceChromeOS* device_chromeos = | 3499 BluetoothDeviceChromeOS* device_chromeos = |
3498 static_cast<BluetoothDeviceChromeOS*>(device); | 3500 static_cast<BluetoothDeviceChromeOS*>(device); |
3499 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3501 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3500 } | 3502 } |
3501 | 3503 |
3502 TEST_F(BluetoothChromeOSTest, IncomingPairRequestPasskeyWithoutDelegate) { | 3504 TEST_F(BluetoothChromeOSTest, IncomingPairRequestPasskeyWithoutDelegate) { |
3503 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3505 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3504 | 3506 |
3505 GetAdapter(); | 3507 GetAdapter(); |
3506 | 3508 |
3507 // Requests that we provide a displayed passkey, without a pairing delegate, | 3509 // Requests that we provide a displayed passkey, without a pairing delegate, |
3508 // that will be rejected. | 3510 // that will be rejected. |
3509 fake_bluetooth_device_client_->CreateDevice( | 3511 fake_bluetooth_device_client_->CreateDevice( |
3510 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3512 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3511 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath)); | 3513 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath)); |
3512 BluetoothDevice* device = adapter_->GetDevice( | 3514 BluetoothDevice* device = adapter_->GetDevice( |
3513 FakeBluetoothDeviceClient::kRequestPasskeyAddress); | 3515 FakeBluetoothDeviceClient::kRequestPasskeyAddress); |
3514 ASSERT_TRUE(device != NULL); | 3516 ASSERT_TRUE(device != nullptr); |
3515 ASSERT_FALSE(device->IsPaired()); | 3517 ASSERT_FALSE(device->IsPaired()); |
3516 | 3518 |
3517 TestBluetoothAdapterObserver observer(adapter_); | 3519 TestBluetoothAdapterObserver observer(adapter_); |
3518 | 3520 |
3519 fake_bluetooth_device_client_->SimulatePairing( | 3521 fake_bluetooth_device_client_->SimulatePairing( |
3520 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath), true, | 3522 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath), true, |
3521 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3523 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3522 base::Unretained(this))); | 3524 base::Unretained(this))); |
3523 | 3525 |
3524 message_loop_.Run(); | 3526 message_loop_.Run(); |
3525 | 3527 |
3526 EXPECT_EQ(0, callback_count_); | 3528 EXPECT_EQ(0, callback_count_); |
3527 EXPECT_EQ(1, error_callback_count_); | 3529 EXPECT_EQ(1, error_callback_count_); |
3528 EXPECT_EQ(bluetooth_device::kErrorAuthenticationRejected, last_client_error_); | 3530 EXPECT_EQ(bluetooth_device::kErrorAuthenticationRejected, last_client_error_); |
3529 | 3531 |
3530 // No changes should be observer. | 3532 // No changes should be observer. |
3531 EXPECT_EQ(0, observer.device_changed_count()); | 3533 EXPECT_EQ(0, observer.device_changed_count()); |
3532 | 3534 |
3533 EXPECT_FALSE(device->IsPaired()); | 3535 EXPECT_FALSE(device->IsPaired()); |
3534 | 3536 |
3535 // No pairing context should remain on the device. | 3537 // No pairing context should remain on the device. |
3536 BluetoothDeviceChromeOS* device_chromeos = | 3538 BluetoothDeviceChromeOS* device_chromeos = |
3537 static_cast<BluetoothDeviceChromeOS*>(device); | 3539 static_cast<BluetoothDeviceChromeOS*>(device); |
3538 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3540 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3539 } | 3541 } |
3540 | 3542 |
3541 TEST_F(BluetoothChromeOSTest, IncomingPairJustWorksWithoutDelegate) { | 3543 TEST_F(BluetoothChromeOSTest, IncomingPairJustWorksWithoutDelegate) { |
3542 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3544 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3543 | 3545 |
3544 GetAdapter(); | 3546 GetAdapter(); |
3545 | 3547 |
3546 // Uses just-works pairing and thus requires authorization for incoming | 3548 // Uses just-works pairing and thus requires authorization for incoming |
3547 // pairings, without a pairing delegate, that will be rejected. | 3549 // pairings, without a pairing delegate, that will be rejected. |
3548 fake_bluetooth_device_client_->CreateDevice( | 3550 fake_bluetooth_device_client_->CreateDevice( |
3549 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3551 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3550 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath)); | 3552 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath)); |
3551 BluetoothDevice* device = adapter_->GetDevice( | 3553 BluetoothDevice* device = adapter_->GetDevice( |
3552 FakeBluetoothDeviceClient::kJustWorksAddress); | 3554 FakeBluetoothDeviceClient::kJustWorksAddress); |
3553 ASSERT_TRUE(device != NULL); | 3555 ASSERT_TRUE(device != nullptr); |
3554 ASSERT_FALSE(device->IsPaired()); | 3556 ASSERT_FALSE(device->IsPaired()); |
3555 | 3557 |
3556 TestBluetoothAdapterObserver observer(adapter_); | 3558 TestBluetoothAdapterObserver observer(adapter_); |
3557 | 3559 |
3558 fake_bluetooth_device_client_->SimulatePairing( | 3560 fake_bluetooth_device_client_->SimulatePairing( |
3559 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath), true, | 3561 dbus::ObjectPath(FakeBluetoothDeviceClient::kJustWorksPath), true, |
3560 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3562 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3561 base::Unretained(this))); | 3563 base::Unretained(this))); |
3562 | 3564 |
3563 message_loop_.Run(); | 3565 message_loop_.Run(); |
3564 | 3566 |
3565 EXPECT_EQ(0, callback_count_); | 3567 EXPECT_EQ(0, callback_count_); |
3566 EXPECT_EQ(1, error_callback_count_); | 3568 EXPECT_EQ(1, error_callback_count_); |
3567 EXPECT_EQ(bluetooth_device::kErrorAuthenticationRejected, last_client_error_); | 3569 EXPECT_EQ(bluetooth_device::kErrorAuthenticationRejected, last_client_error_); |
3568 | 3570 |
3569 // No changes should be observer. | 3571 // No changes should be observer. |
3570 EXPECT_EQ(0, observer.device_changed_count()); | 3572 EXPECT_EQ(0, observer.device_changed_count()); |
3571 | 3573 |
3572 EXPECT_FALSE(device->IsPaired()); | 3574 EXPECT_FALSE(device->IsPaired()); |
3573 | 3575 |
3574 // No pairing context should remain on the device. | 3576 // No pairing context should remain on the device. |
3575 BluetoothDeviceChromeOS* device_chromeos = | 3577 BluetoothDeviceChromeOS* device_chromeos = |
3576 static_cast<BluetoothDeviceChromeOS*>(device); | 3578 static_cast<BluetoothDeviceChromeOS*>(device); |
3577 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3579 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3578 } | 3580 } |
3579 | 3581 |
3580 TEST_F(BluetoothChromeOSTest, RemovePairingDelegateDuringPairing) { | 3582 TEST_F(BluetoothChromeOSTest, RemovePairingDelegateDuringPairing) { |
3581 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 3583 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
3582 | 3584 |
3583 GetAdapter(); | 3585 GetAdapter(); |
3584 | 3586 |
3585 TestPairingDelegate pairing_delegate; | 3587 TestPairingDelegate pairing_delegate; |
3586 adapter_->AddPairingDelegate( | 3588 adapter_->AddPairingDelegate( |
3587 &pairing_delegate, | 3589 &pairing_delegate, |
3588 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); | 3590 BluetoothAdapter::PAIRING_DELEGATE_PRIORITY_HIGH); |
3589 | 3591 |
3590 // Requests that we provide a Passkey. | 3592 // Requests that we provide a Passkey. |
3591 fake_bluetooth_device_client_->CreateDevice( | 3593 fake_bluetooth_device_client_->CreateDevice( |
3592 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), | 3594 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), |
3593 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath)); | 3595 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath)); |
3594 BluetoothDevice* device = adapter_->GetDevice( | 3596 BluetoothDevice* device = adapter_->GetDevice( |
3595 FakeBluetoothDeviceClient::kRequestPasskeyAddress); | 3597 FakeBluetoothDeviceClient::kRequestPasskeyAddress); |
3596 ASSERT_TRUE(device != NULL); | 3598 ASSERT_TRUE(device != nullptr); |
3597 ASSERT_FALSE(device->IsPaired()); | 3599 ASSERT_FALSE(device->IsPaired()); |
3598 | 3600 |
3599 TestBluetoothAdapterObserver observer(adapter_); | 3601 TestBluetoothAdapterObserver observer(adapter_); |
3600 | 3602 |
3601 fake_bluetooth_device_client_->SimulatePairing( | 3603 fake_bluetooth_device_client_->SimulatePairing( |
3602 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath), true, | 3604 dbus::ObjectPath(FakeBluetoothDeviceClient::kRequestPasskeyPath), true, |
3603 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, | 3605 GetCallback(), base::Bind(&BluetoothChromeOSTest::DBusErrorCallback, |
3604 base::Unretained(this))); | 3606 base::Unretained(this))); |
3605 | 3607 |
3606 EXPECT_EQ(1, pairing_delegate.call_count_); | 3608 EXPECT_EQ(1, pairing_delegate.call_count_); |
3607 EXPECT_EQ(1, pairing_delegate.request_passkey_count_); | 3609 EXPECT_EQ(1, pairing_delegate.request_passkey_count_); |
3608 | 3610 |
3609 // A pairing context should now be set on the device. | 3611 // A pairing context should now be set on the device. |
3610 BluetoothDeviceChromeOS* device_chromeos = | 3612 BluetoothDeviceChromeOS* device_chromeos = |
3611 static_cast<BluetoothDeviceChromeOS*>(device); | 3613 static_cast<BluetoothDeviceChromeOS*>(device); |
3612 ASSERT_TRUE(device_chromeos->GetPairing() != NULL); | 3614 ASSERT_TRUE(device_chromeos->GetPairing() != nullptr); |
3613 | 3615 |
3614 // Removing the pairing delegate should remove that pairing context. | 3616 // Removing the pairing delegate should remove that pairing context. |
3615 adapter_->RemovePairingDelegate(&pairing_delegate); | 3617 adapter_->RemovePairingDelegate(&pairing_delegate); |
3616 | 3618 |
3617 EXPECT_TRUE(device_chromeos->GetPairing() == NULL); | 3619 EXPECT_TRUE(device_chromeos->GetPairing() == nullptr); |
3618 | 3620 |
3619 // Set the Passkey, this should now have no effect since the pairing has | 3621 // Set the Passkey, this should now have no effect since the pairing has |
3620 // been, in-effect, cancelled | 3622 // been, in-effect, cancelled |
3621 device->SetPasskey(1234); | 3623 device->SetPasskey(1234); |
3622 | 3624 |
3623 EXPECT_EQ(0, callback_count_); | 3625 EXPECT_EQ(0, callback_count_); |
3624 EXPECT_EQ(0, error_callback_count_); | 3626 EXPECT_EQ(0, error_callback_count_); |
3625 EXPECT_EQ(0, observer.device_changed_count()); | 3627 EXPECT_EQ(0, observer.device_changed_count()); |
3626 | 3628 |
3627 EXPECT_FALSE(device->IsPaired()); | 3629 EXPECT_FALSE(device->IsPaired()); |
3628 } | 3630 } |
3629 | 3631 |
3630 TEST_F(BluetoothChromeOSTest, DeviceId) { | 3632 TEST_F(BluetoothChromeOSTest, DeviceId) { |
3631 GetAdapter(); | 3633 GetAdapter(); |
3632 | 3634 |
3633 // Use the built-in paired device for this test, grab its Properties | 3635 // Use the built-in paired device for this test, grab its Properties |
3634 // structure so we can adjust the underlying modalias property. | 3636 // structure so we can adjust the underlying modalias property. |
3635 BluetoothDevice* device = adapter_->GetDevice( | 3637 BluetoothDevice* device = adapter_->GetDevice( |
3636 FakeBluetoothDeviceClient::kPairedDeviceAddress); | 3638 FakeBluetoothDeviceClient::kPairedDeviceAddress); |
3637 FakeBluetoothDeviceClient::Properties* properties = | 3639 FakeBluetoothDeviceClient::Properties* properties = |
3638 fake_bluetooth_device_client_->GetProperties( | 3640 fake_bluetooth_device_client_->GetProperties( |
3639 dbus::ObjectPath(FakeBluetoothDeviceClient::kPairedDevicePath)); | 3641 dbus::ObjectPath(FakeBluetoothDeviceClient::kPairedDevicePath)); |
3640 | 3642 |
3641 ASSERT_TRUE(device != NULL); | 3643 ASSERT_TRUE(device != nullptr); |
3642 ASSERT_TRUE(properties != NULL); | 3644 ASSERT_TRUE(properties != nullptr); |
3643 | 3645 |
3644 // Valid USB IF-assigned identifier. | 3646 // Valid USB IF-assigned identifier. |
3645 ASSERT_EQ("usb:v05ACp030Dd0306", properties->modalias.value()); | 3647 ASSERT_EQ("usb:v05ACp030Dd0306", properties->modalias.value()); |
3646 | 3648 |
3647 EXPECT_EQ(BluetoothDevice::VENDOR_ID_USB, device->GetVendorIDSource()); | 3649 EXPECT_EQ(BluetoothDevice::VENDOR_ID_USB, device->GetVendorIDSource()); |
3648 EXPECT_EQ(0x05ac, device->GetVendorID()); | 3650 EXPECT_EQ(0x05ac, device->GetVendorID()); |
3649 EXPECT_EQ(0x030d, device->GetProductID()); | 3651 EXPECT_EQ(0x030d, device->GetProductID()); |
3650 EXPECT_EQ(0x0306, device->GetDeviceID()); | 3652 EXPECT_EQ(0x0306, device->GetDeviceID()); |
3651 | 3653 |
3652 // Valid Bluetooth SIG-assigned identifier. | 3654 // Valid Bluetooth SIG-assigned identifier. |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3696 EXPECT_EQ(unknown_power, conn_info.rssi); | 3698 EXPECT_EQ(unknown_power, conn_info.rssi); |
3697 EXPECT_EQ(unknown_power, conn_info.transmit_power); | 3699 EXPECT_EQ(unknown_power, conn_info.transmit_power); |
3698 EXPECT_EQ(unknown_power, conn_info.max_transmit_power); | 3700 EXPECT_EQ(unknown_power, conn_info.max_transmit_power); |
3699 } | 3701 } |
3700 | 3702 |
3701 TEST_F(BluetoothChromeOSTest, GetConnectionInfoForConnectedDevice) { | 3703 TEST_F(BluetoothChromeOSTest, GetConnectionInfoForConnectedDevice) { |
3702 GetAdapter(); | 3704 GetAdapter(); |
3703 BluetoothDevice* device = | 3705 BluetoothDevice* device = |
3704 adapter_->GetDevice(FakeBluetoothDeviceClient::kPairedDeviceAddress); | 3706 adapter_->GetDevice(FakeBluetoothDeviceClient::kPairedDeviceAddress); |
3705 | 3707 |
3706 device->Connect(NULL, GetCallback(), | 3708 device->Connect(nullptr, GetCallback(), |
3707 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, | 3709 base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback, |
3708 base::Unretained(this))); | 3710 base::Unretained(this))); |
3709 EXPECT_TRUE(device->IsConnected()); | 3711 EXPECT_TRUE(device->IsConnected()); |
3710 | 3712 |
3711 // Calling GetConnectionInfo for a connected device should return valid | 3713 // Calling GetConnectionInfo for a connected device should return valid |
3712 // results. | 3714 // results. |
3713 fake_bluetooth_device_client_->UpdateConnectionInfo(-10, 3, 4); | 3715 fake_bluetooth_device_client_->UpdateConnectionInfo(-10, 3, 4); |
3714 BluetoothDevice::ConnectionInfo conn_info; | 3716 BluetoothDevice::ConnectionInfo conn_info; |
3715 device->GetConnectionInfo(base::Bind(&SaveConnectionInfo, &conn_info)); | 3717 device->GetConnectionInfo(base::Bind(&SaveConnectionInfo, &conn_info)); |
3716 EXPECT_EQ(-10, conn_info.rssi); | 3718 EXPECT_EQ(-10, conn_info.rssi); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3792 audio_sink_options, | 3794 audio_sink_options, |
3793 base::Bind(&BluetoothChromeOSTest::AudioSinkAcquiredCallback, | 3795 base::Bind(&BluetoothChromeOSTest::AudioSinkAcquiredCallback, |
3794 base::Unretained(this)), | 3796 base::Unretained(this)), |
3795 base::Bind(&BluetoothChromeOSTest::AudioSinkErrorCallback, | 3797 base::Bind(&BluetoothChromeOSTest::AudioSinkErrorCallback, |
3796 base::Unretained(this))); | 3798 base::Unretained(this))); |
3797 EXPECT_EQ(0, callback_count_); | 3799 EXPECT_EQ(0, callback_count_); |
3798 EXPECT_EQ(1, error_callback_count_--) << "RegisterAudioSink error"; | 3800 EXPECT_EQ(1, error_callback_count_--) << "RegisterAudioSink error"; |
3799 | 3801 |
3800 BluetoothAdapterChromeOS* adapter_chrome_os = | 3802 BluetoothAdapterChromeOS* adapter_chrome_os = |
3801 static_cast<BluetoothAdapterChromeOS*>(adapter_.get()); | 3803 static_cast<BluetoothAdapterChromeOS*>(adapter_.get()); |
3802 EXPECT_EQ(NULL, adapter_chrome_os->GetDeviceWithPath(dbus::ObjectPath(""))); | 3804 EXPECT_EQ(nullptr, |
| 3805 adapter_chrome_os->GetDeviceWithPath(dbus::ObjectPath(""))); |
3803 | 3806 |
3804 // Notify methods presume objects exist that are owned by the adapter and | 3807 // Notify methods presume objects exist that are owned by the adapter and |
3805 // destroyed in Shutdown(). Mocks are not attempted here that won't exist, | 3808 // destroyed in Shutdown(). Mocks are not attempted here that won't exist, |
3806 // as verified below by EXPECT_EQ(0U, adapter_->GetDevices().size()); | 3809 // as verified below by EXPECT_EQ(0U, adapter_->GetDevices().size()); |
3807 // NotifyDeviceChanged | 3810 // NotifyDeviceChanged |
3808 // NotifyGattServiceAdded | 3811 // NotifyGattServiceAdded |
3809 // NotifyGattServiceRemoved | 3812 // NotifyGattServiceRemoved |
3810 // NotifyGattServiceChanged | 3813 // NotifyGattServiceChanged |
3811 // NotifyGattDiscoveryComplete | 3814 // NotifyGattDiscoveryComplete |
3812 // NotifyGattCharacteristicAdded | 3815 // NotifyGattCharacteristicAdded |
3813 // NotifyGattCharacteristicRemoved | 3816 // NotifyGattCharacteristicRemoved |
3814 // NotifyGattDescriptorAdded | 3817 // NotifyGattDescriptorAdded |
3815 // NotifyGattDescriptorRemoved | 3818 // NotifyGattDescriptorRemoved |
3816 // NotifyGattCharacteristicValueChanged | 3819 // NotifyGattCharacteristicValueChanged |
3817 // NotifyGattDescriptorValueChanged | 3820 // NotifyGattDescriptorValueChanged |
3818 | 3821 |
3819 EXPECT_EQ(dbus::ObjectPath(""), adapter_chrome_os->object_path()); | 3822 EXPECT_EQ(dbus::ObjectPath(""), adapter_chrome_os->object_path()); |
3820 | 3823 |
3821 adapter_profile_ = NULL; | 3824 adapter_profile_ = nullptr; |
3822 | 3825 |
3823 FakeBluetoothProfileServiceProviderDelegate profile_delegate; | 3826 FakeBluetoothProfileServiceProviderDelegate profile_delegate; |
3824 adapter_chrome_os->UseProfile( | 3827 adapter_chrome_os->UseProfile( |
3825 BluetoothUUID(), dbus::ObjectPath(""), | 3828 BluetoothUUID(), dbus::ObjectPath(""), |
3826 BluetoothProfileManagerClient::Options(), &profile_delegate, | 3829 BluetoothProfileManagerClient::Options(), &profile_delegate, |
3827 base::Bind(&BluetoothChromeOSTest::ProfileRegisteredCallback, | 3830 base::Bind(&BluetoothChromeOSTest::ProfileRegisteredCallback, |
3828 base::Unretained(this)), | 3831 base::Unretained(this)), |
3829 base::Bind(&BluetoothChromeOSTest::ErrorCompletionCallback, | 3832 base::Bind(&BluetoothChromeOSTest::ErrorCompletionCallback, |
3830 base::Unretained(this))); | 3833 base::Unretained(this))); |
3831 | 3834 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3887 adapter_chrome_os->RemoveDiscoverySession(nullptr, GetCallback(), | 3890 adapter_chrome_os->RemoveDiscoverySession(nullptr, GetCallback(), |
3888 GetErrorCallback()); | 3891 GetErrorCallback()); |
3889 EXPECT_EQ(0, callback_count_) << "RemoveDiscoverySession error"; | 3892 EXPECT_EQ(0, callback_count_) << "RemoveDiscoverySession error"; |
3890 EXPECT_EQ(1, error_callback_count_--) << "RemoveDiscoverySession error"; | 3893 EXPECT_EQ(1, error_callback_count_--) << "RemoveDiscoverySession error"; |
3891 | 3894 |
3892 // OnStartDiscovery tested in Shutdown_OnStartDiscovery | 3895 // OnStartDiscovery tested in Shutdown_OnStartDiscovery |
3893 // OnStartDiscoveryError tested in Shutdown_OnStartDiscoveryError | 3896 // OnStartDiscoveryError tested in Shutdown_OnStartDiscoveryError |
3894 // OnStopDiscovery tested in Shutdown_OnStopDiscovery | 3897 // OnStopDiscovery tested in Shutdown_OnStopDiscovery |
3895 // OnStopDiscoveryError tested in Shutdown_OnStopDiscoveryError | 3898 // OnStopDiscoveryError tested in Shutdown_OnStopDiscoveryError |
3896 | 3899 |
3897 adapter_profile_ = NULL; | 3900 adapter_profile_ = nullptr; |
3898 | 3901 |
3899 // OnRegisterProfile SetProfileDelegate, OnRegisterProfileError, require | 3902 // OnRegisterProfile SetProfileDelegate, OnRegisterProfileError, require |
3900 // UseProfile to be set first, do so again here just before calling them. | 3903 // UseProfile to be set first, do so again here just before calling them. |
3901 adapter_chrome_os->UseProfile( | 3904 adapter_chrome_os->UseProfile( |
3902 BluetoothUUID(), dbus::ObjectPath(""), | 3905 BluetoothUUID(), dbus::ObjectPath(""), |
3903 BluetoothProfileManagerClient::Options(), &profile_delegate, | 3906 BluetoothProfileManagerClient::Options(), &profile_delegate, |
3904 base::Bind(&BluetoothChromeOSTest::ProfileRegisteredCallback, | 3907 base::Bind(&BluetoothChromeOSTest::ProfileRegisteredCallback, |
3905 base::Unretained(this)), | 3908 base::Unretained(this)), |
3906 base::Bind(&BluetoothChromeOSTest::ErrorCompletionCallback, | 3909 base::Bind(&BluetoothChromeOSTest::ErrorCompletionCallback, |
3907 base::Unretained(this))); | 3910 base::Unretained(this))); |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4034 adapter_->Shutdown(); | 4037 adapter_->Shutdown(); |
4035 adapter_chrome_os->OnStopDiscoveryError(GetErrorCallback(), "", ""); | 4038 adapter_chrome_os->OnStopDiscoveryError(GetErrorCallback(), "", ""); |
4036 | 4039 |
4037 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, | 4040 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, |
4038 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. | 4041 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. |
4039 EXPECT_EQ(0, callback_count_); | 4042 EXPECT_EQ(0, callback_count_); |
4040 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); | 4043 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); |
4041 } | 4044 } |
4042 | 4045 |
4043 } // namespace chromeos | 4046 } // namespace chromeos |
| 4047 |
OLD | NEW |