Index: extensions/browser/api/bluetooth/bluetooth_private_apitest.cc |
diff --git a/extensions/browser/api/bluetooth/bluetooth_private_apitest.cc b/extensions/browser/api/bluetooth/bluetooth_private_apitest.cc |
index 9359296eb62a675d5945157229004846e72eb4db..203d749df3d9de4437c45e62db505dfd5627db1c 100644 |
--- a/extensions/browser/api/bluetooth/bluetooth_private_apitest.cc |
+++ b/extensions/browser/api/bluetooth/bluetooth_private_apitest.cc |
@@ -120,6 +120,12 @@ class BluetoothPrivateApiTest : public ExtensionApiTest { |
scoped_ptr<NiceMock<MockBluetoothDevice> > mock_device_; |
}; |
+ACTION_TEMPLATE(InvokeCallbackArgument, |
+ HAS_1_TEMPLATE_PARAMS(int, k), |
+ AND_0_VALUE_PARAMS()) { |
+ ::std::tr1::get<k>(args).Run(); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(BluetoothPrivateApiTest, SetAdapterState) { |
ON_CALL(*mock_adapter_.get(), GetName()) |
.WillByDefault(ReturnPointee(&adapter_name_)); |
@@ -183,4 +189,20 @@ IN_PROC_BROWSER_TEST_F(BluetoothPrivateApiTest, PasskeyPairing) { |
<< message_; |
} |
+IN_PROC_BROWSER_TEST_F(BluetoothPrivateApiTest, DisconnectAll) { |
+ EXPECT_CALL(*mock_device_, IsConnected()) |
+ .Times(6) |
+ .WillOnce(Return(false)) |
+ .WillOnce(Return(true)) |
+ .WillOnce(Return(false)) |
+ .WillRepeatedly(Return(true)); |
+ EXPECT_CALL(*mock_device_, Disconnect(_, _)) |
+ .Times(3) |
+ .WillOnce(InvokeCallbackArgument<1>()) |
+ .WillOnce(InvokeCallbackArgument<1>()) |
+ .WillOnce(InvokeCallbackArgument<0>()); |
+ ASSERT_TRUE(RunComponentExtensionTest("bluetooth_private/disconnect")) |
+ << message_; |
+} |
+ |
} // namespace extensions |