Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(652)

Side by Side Diff: device/bluetooth/bluetooth_chromeos_unittest.cc

Issue 184953002: Migrate Chrome OS Bluetooth UI to the new discovery API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments by derat@ and keybuk@. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "chromeos/dbus/fake_bluetooth_adapter_client.h" 7 #include "chromeos/dbus/fake_bluetooth_adapter_client.h"
8 #include "chromeos/dbus/fake_bluetooth_agent_manager_client.h" 8 #include "chromeos/dbus/fake_bluetooth_agent_manager_client.h"
9 #include "chromeos/dbus/fake_bluetooth_device_client.h" 9 #include "chromeos/dbus/fake_bluetooth_device_client.h"
10 #include "chromeos/dbus/fake_bluetooth_input_client.h" 10 #include "chromeos/dbus/fake_bluetooth_input_client.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 239
240 fake_bluetooth_adapter_client_->SetSimulationIntervalMs(10); 240 fake_bluetooth_adapter_client_->SetSimulationIntervalMs(10);
241 241
242 callback_count_ = 0; 242 callback_count_ = 0;
243 error_callback_count_ = 0; 243 error_callback_count_ = 0;
244 last_connect_error_ = BluetoothDevice::ERROR_UNKNOWN; 244 last_connect_error_ = BluetoothDevice::ERROR_UNKNOWN;
245 last_client_error_ = ""; 245 last_client_error_ = "";
246 } 246 }
247 247
248 virtual void TearDown() { 248 virtual void TearDown() {
249 if (last_discovery_session_.get() && last_discovery_session_->active()) { 249 if (last_discovery_session_.get() && last_discovery_session_->IsActive()) {
250 callback_count_ = 0; 250 callback_count_ = 0;
251 last_discovery_session_->Stop( 251 last_discovery_session_->Stop(
252 base::Bind(&BluetoothChromeOSTest::Callback, 252 base::Bind(&BluetoothChromeOSTest::Callback,
253 base::Unretained(this)), 253 base::Unretained(this)),
254 base::Bind(&BluetoothChromeOSTest::ErrorCallback, 254 base::Bind(&BluetoothChromeOSTest::ErrorCallback,
255 base::Unretained(this))); 255 base::Unretained(this)));
256 message_loop_.Run(); 256 message_loop_.Run();
257 ASSERT_EQ(1, callback_count_); 257 ASSERT_EQ(1, callback_count_);
258 } 258 }
259 last_discovery_session_.reset(); 259 last_discovery_session_.reset();
(...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after
1316 base::Unretained(this)), 1316 base::Unretained(this)),
1317 base::Bind(&BluetoothChromeOSTest::ErrorCallback, 1317 base::Bind(&BluetoothChromeOSTest::ErrorCallback,
1318 base::Unretained(this))); 1318 base::Unretained(this)));
1319 message_loop_.Run(); 1319 message_loop_.Run();
1320 EXPECT_EQ(1, observer.discovering_changed_count_); 1320 EXPECT_EQ(1, observer.discovering_changed_count_);
1321 EXPECT_EQ(1, callback_count_); 1321 EXPECT_EQ(1, callback_count_);
1322 EXPECT_EQ(0, error_callback_count_); 1322 EXPECT_EQ(0, error_callback_count_);
1323 EXPECT_TRUE(observer.last_discovering_); 1323 EXPECT_TRUE(observer.last_discovering_);
1324 EXPECT_TRUE(adapter_->IsDiscovering()); 1324 EXPECT_TRUE(adapter_->IsDiscovering());
1325 EXPECT_TRUE(last_discovery_session_.get()); 1325 EXPECT_TRUE(last_discovery_session_.get());
1326 EXPECT_TRUE(last_discovery_session_->active()); 1326 EXPECT_TRUE(last_discovery_session_->IsActive());
1327 1327
1328 // Start another session. A new one should be returned in the callback, which 1328 // Start another session. A new one should be returned in the callback, which
1329 // in turn will destroy the previous session. Adapter should still be 1329 // in turn will destroy the previous session. Adapter should still be
1330 // discovering and the reference count should be 1. 1330 // discovering and the reference count should be 1.
1331 adapter_->StartDiscoverySession( 1331 adapter_->StartDiscoverySession(
1332 base::Bind(&BluetoothChromeOSTest::DiscoverySessionCallback, 1332 base::Bind(&BluetoothChromeOSTest::DiscoverySessionCallback,
1333 base::Unretained(this)), 1333 base::Unretained(this)),
1334 base::Bind(&BluetoothChromeOSTest::ErrorCallback, 1334 base::Bind(&BluetoothChromeOSTest::ErrorCallback,
1335 base::Unretained(this))); 1335 base::Unretained(this)));
1336 message_loop_.Run(); 1336 message_loop_.Run();
1337 EXPECT_EQ(1, observer.discovering_changed_count_); 1337 EXPECT_EQ(1, observer.discovering_changed_count_);
1338 EXPECT_EQ(2, callback_count_); 1338 EXPECT_EQ(2, callback_count_);
1339 EXPECT_EQ(0, error_callback_count_); 1339 EXPECT_EQ(0, error_callback_count_);
1340 EXPECT_TRUE(observer.last_discovering_); 1340 EXPECT_TRUE(observer.last_discovering_);
1341 EXPECT_TRUE(adapter_->IsDiscovering()); 1341 EXPECT_TRUE(adapter_->IsDiscovering());
1342 EXPECT_TRUE(last_discovery_session_.get()); 1342 EXPECT_TRUE(last_discovery_session_.get());
1343 EXPECT_TRUE(last_discovery_session_->active()); 1343 EXPECT_TRUE(last_discovery_session_->IsActive());
1344 1344
1345 // Hold on to the current discovery session to prevent it from getting 1345 // Hold on to the current discovery session to prevent it from getting
1346 // destroyed during the next call to StartDiscoverySession. 1346 // destroyed during the next call to StartDiscoverySession.
1347 scoped_ptr<BluetoothDiscoverySession> discovery_session = 1347 scoped_ptr<BluetoothDiscoverySession> discovery_session =
1348 last_discovery_session_.Pass(); 1348 last_discovery_session_.Pass();
1349 1349
1350 // Request a new session. 1350 // Request a new session.
1351 adapter_->StartDiscoverySession( 1351 adapter_->StartDiscoverySession(
1352 base::Bind(&BluetoothChromeOSTest::DiscoverySessionCallback, 1352 base::Bind(&BluetoothChromeOSTest::DiscoverySessionCallback,
1353 base::Unretained(this)), 1353 base::Unretained(this)),
1354 base::Bind(&BluetoothChromeOSTest::ErrorCallback, 1354 base::Bind(&BluetoothChromeOSTest::ErrorCallback,
1355 base::Unretained(this))); 1355 base::Unretained(this)));
1356 message_loop_.Run(); 1356 message_loop_.Run();
1357 EXPECT_EQ(1, observer.discovering_changed_count_); 1357 EXPECT_EQ(1, observer.discovering_changed_count_);
1358 EXPECT_EQ(3, callback_count_); 1358 EXPECT_EQ(3, callback_count_);
1359 EXPECT_EQ(0, error_callback_count_); 1359 EXPECT_EQ(0, error_callback_count_);
1360 EXPECT_TRUE(observer.last_discovering_); 1360 EXPECT_TRUE(observer.last_discovering_);
1361 EXPECT_TRUE(adapter_->IsDiscovering()); 1361 EXPECT_TRUE(adapter_->IsDiscovering());
1362 EXPECT_TRUE(last_discovery_session_.get()); 1362 EXPECT_TRUE(last_discovery_session_.get());
1363 EXPECT_TRUE(last_discovery_session_->active()); 1363 EXPECT_TRUE(last_discovery_session_->IsActive());
1364 EXPECT_NE(last_discovery_session_.get(), discovery_session); 1364 EXPECT_NE(last_discovery_session_.get(), discovery_session);
1365 1365
1366 // Stop the previous discovery session. The session should end but discovery 1366 // Stop the previous discovery session. The session should end but discovery
1367 // should continue. 1367 // should continue.
1368 discovery_session->Stop( 1368 discovery_session->Stop(
1369 base::Bind(&BluetoothChromeOSTest::Callback, 1369 base::Bind(&BluetoothChromeOSTest::Callback,
1370 base::Unretained(this)), 1370 base::Unretained(this)),
1371 base::Bind(&BluetoothChromeOSTest::ErrorCallback, 1371 base::Bind(&BluetoothChromeOSTest::ErrorCallback,
1372 base::Unretained(this))); 1372 base::Unretained(this)));
1373 message_loop_.Run(); 1373 message_loop_.Run();
1374 EXPECT_EQ(1, observer.discovering_changed_count_); 1374 EXPECT_EQ(1, observer.discovering_changed_count_);
1375 EXPECT_EQ(4, callback_count_); 1375 EXPECT_EQ(4, callback_count_);
1376 EXPECT_EQ(0, error_callback_count_); 1376 EXPECT_EQ(0, error_callback_count_);
1377 EXPECT_TRUE(observer.last_discovering_); 1377 EXPECT_TRUE(observer.last_discovering_);
1378 EXPECT_TRUE(adapter_->IsDiscovering()); 1378 EXPECT_TRUE(adapter_->IsDiscovering());
1379 EXPECT_TRUE(last_discovery_session_.get()); 1379 EXPECT_TRUE(last_discovery_session_.get());
1380 EXPECT_TRUE(last_discovery_session_->active()); 1380 EXPECT_TRUE(last_discovery_session_->IsActive());
1381 EXPECT_FALSE(discovery_session->active()); 1381 EXPECT_FALSE(discovery_session->IsActive());
1382 1382
1383 // Delete the current active session. Discovery should eventually stop. 1383 // Delete the current active session. Discovery should eventually stop.
1384 last_discovery_session_.reset(); 1384 last_discovery_session_.reset();
1385 while (observer.last_discovering_) { 1385 while (observer.last_discovering_) {
1386 message_loop_.RunUntilIdle(); 1386 message_loop_.RunUntilIdle();
1387 } 1387 }
1388 EXPECT_EQ(2, observer.discovering_changed_count_); 1388 EXPECT_EQ(2, observer.discovering_changed_count_);
1389 EXPECT_EQ(4, callback_count_); 1389 EXPECT_EQ(4, callback_count_);
1390 EXPECT_EQ(0, error_callback_count_); 1390 EXPECT_EQ(0, error_callback_count_);
1391 EXPECT_FALSE(observer.last_discovering_); 1391 EXPECT_FALSE(observer.last_discovering_);
(...skipping 1696 matching lines...) Expand 10 before | Expand all | Expand 10 after
3088 device->SetPasskey(1234); 3088 device->SetPasskey(1234);
3089 3089
3090 EXPECT_EQ(0, callback_count_); 3090 EXPECT_EQ(0, callback_count_);
3091 EXPECT_EQ(0, error_callback_count_); 3091 EXPECT_EQ(0, error_callback_count_);
3092 EXPECT_EQ(0, observer.device_changed_count_); 3092 EXPECT_EQ(0, observer.device_changed_count_);
3093 3093
3094 EXPECT_FALSE(device->IsPaired()); 3094 EXPECT_FALSE(device->IsPaired());
3095 } 3095 }
3096 3096
3097 } // namespace chromeos 3097 } // namespace chromeos
OLDNEW
« no previous file with comments | « device/bluetooth/bluetooth_adapter_chromeos.cc ('k') | device/bluetooth/bluetooth_discovery_session.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698