| Index: device/bluetooth/bluetooth_chromeos_unittest.cc
|
| diff --git a/device/bluetooth/bluetooth_chromeos_unittest.cc b/device/bluetooth/bluetooth_chromeos_unittest.cc
|
| index 0c25a402f9dadcd5ac3170d8cd770c6ab57ecf1f..370b3b789dfc3a9443aa371979efb23556796b03 100644
|
| --- a/device/bluetooth/bluetooth_chromeos_unittest.cc
|
| +++ b/device/bluetooth/bluetooth_chromeos_unittest.cc
|
| @@ -3312,4 +3312,74 @@ TEST_F(BluetoothChromeOSTest, GetConnectionInfoForConnectedDevice) {
|
| EXPECT_EQ(4, conn_info.max_transmit_power);
|
| }
|
|
|
| +// Verifies Shutdown shuts down the adapter as expected.
|
| +TEST_F(BluetoothChromeOSTest, Shutdown) {
|
| + // Set up and adapter, power, discoverable, start discovery.
|
| + GetAdapter();
|
| + adapter_->SetPowered(true, base::Bind(&BluetoothChromeOSTest::Callback,
|
| + base::Unretained(this)),
|
| + base::Bind(&BluetoothChromeOSTest::ErrorCallback,
|
| + base::Unretained(this)));
|
| + adapter_->SetDiscoverable(true, base::Bind(&BluetoothChromeOSTest::Callback,
|
| + base::Unretained(this)),
|
| + base::Bind(&BluetoothChromeOSTest::ErrorCallback,
|
| + base::Unretained(this)));
|
| + adapter_->StartDiscoverySession(
|
| + base::Bind(&BluetoothChromeOSTest::DiscoverySessionCallback,
|
| + base::Unretained(this)),
|
| + base::Bind(&BluetoothChromeOSTest::ErrorCallback,
|
| + base::Unretained(this)));
|
| + base::MessageLoop::current()->Run();
|
| + ASSERT_EQ(3, callback_count_);
|
| + ASSERT_EQ(0, error_callback_count_);
|
| + callback_count_ = 0;
|
| +
|
| + // Validate running adapter state.
|
| + EXPECT_NE("", adapter_->GetAddress());
|
| + EXPECT_NE("", adapter_->GetName());
|
| + EXPECT_TRUE(adapter_->IsInitialized());
|
| + EXPECT_TRUE(adapter_->IsPresent());
|
| + EXPECT_TRUE(adapter_->IsPowered());
|
| + EXPECT_TRUE(adapter_->IsDiscoverable());
|
| + EXPECT_TRUE(adapter_->IsDiscovering());
|
| + EXPECT_EQ(1U, adapter_->GetDevices().size());
|
| + EXPECT_NE(nullptr, adapter_->GetDevice(
|
| + FakeBluetoothDeviceClient::kPairedDeviceAddress));
|
| + EXPECT_NE(dbus::ObjectPath(""), static_cast<BluetoothAdapterChromeOS*>(
|
| + adapter_.get())->object_path());
|
| +
|
| + // Shutdown
|
| + static_cast<BluetoothAdapterChromeOS*>(adapter_.get())->Shutdown();
|
| +
|
| + // Validate post shutdown state.
|
| + EXPECT_EQ("", adapter_->GetAddress());
|
| + EXPECT_EQ("", adapter_->GetName());
|
| + EXPECT_TRUE(adapter_->IsInitialized());
|
| + EXPECT_FALSE(adapter_->IsPresent());
|
| + EXPECT_FALSE(adapter_->IsPowered());
|
| + EXPECT_FALSE(adapter_->IsDiscoverable());
|
| + EXPECT_FALSE(adapter_->IsDiscovering());
|
| + EXPECT_EQ(0U, adapter_->GetDevices().size());
|
| + EXPECT_EQ(nullptr, adapter_->GetDevice(
|
| + FakeBluetoothDeviceClient::kPairedDeviceAddress));
|
| + EXPECT_EQ(dbus::ObjectPath(""), static_cast<BluetoothAdapterChromeOS*>(
|
| + adapter_.get())->object_path());
|
| +
|
| + adapter_->SetPowered(true, base::Bind(&BluetoothChromeOSTest::Callback,
|
| + base::Unretained(this)),
|
| + base::Bind(&BluetoothChromeOSTest::ErrorCallback,
|
| + base::Unretained(this)));
|
| + adapter_->SetDiscoverable(true, base::Bind(&BluetoothChromeOSTest::Callback,
|
| + base::Unretained(this)),
|
| + base::Bind(&BluetoothChromeOSTest::ErrorCallback,
|
| + base::Unretained(this)));
|
| + adapter_->StartDiscoverySession(
|
| + base::Bind(&BluetoothChromeOSTest::DiscoverySessionCallback,
|
| + base::Unretained(this)),
|
| + base::Bind(&BluetoothChromeOSTest::ErrorCallback,
|
| + base::Unretained(this)));
|
| + ASSERT_EQ(0, callback_count_);
|
| + ASSERT_EQ(3, error_callback_count_);
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|