| Index: extensions/browser/api/hid/hid_apitest.cc
|
| diff --git a/extensions/browser/api/hid/hid_apitest.cc b/extensions/browser/api/hid/hid_apitest.cc
|
| index ac114f2cd1421e275a8f8a79248dba595c671cad..1e35ecd91d1f6e6f4392b2fa20bf9948bd5814f1 100644
|
| --- a/extensions/browser/api/hid/hid_apitest.cc
|
| +++ b/extensions/browser/api/hid/hid_apitest.cc
|
| @@ -5,6 +5,7 @@
|
| #include "base/bind.h"
|
| #include "base/run_loop.h"
|
| #include "base/thread_task_runner_handle.h"
|
| +#include "device/core/device_client.h"
|
| #include "device/hid/hid_collection_info.h"
|
| #include "device/hid/hid_connection.h"
|
| #include "device/hid/hid_device_info.h"
|
| @@ -168,6 +169,19 @@ class MockHidService : public HidService {
|
| }
|
| };
|
|
|
| +class TestDeviceClient : public DeviceClient {
|
| + public:
|
| + TestDeviceClient() : DeviceClient() {}
|
| + ~TestDeviceClient() override {}
|
| +
|
| + MockHidService& mock_service() { return hid_service_; }
|
| +
|
| + private:
|
| + HidService* GetHidService() override { return &hid_service_; }
|
| +
|
| + MockHidService hid_service_;
|
| +};
|
| +
|
| } // namespace device
|
|
|
| namespace extensions {
|
| @@ -208,12 +222,11 @@ class HidApiTest : public ShellApiTest {
|
| public:
|
| void SetUpOnMainThread() override {
|
| ShellApiTest::SetUpOnMainThread();
|
| - hid_service_ = new device::MockHidService();
|
| - HidService::SetInstanceForTest(hid_service_);
|
| + device_client_.reset(new device::TestDeviceClient());
|
| }
|
|
|
| protected:
|
| - device::MockHidService* hid_service_;
|
| + scoped_ptr<device::TestDeviceClient> device_client_;
|
| };
|
|
|
| IN_PROC_BROWSER_TEST_F(HidApiTest, HidApp) {
|
| @@ -230,8 +243,10 @@ IN_PROC_BROWSER_TEST_F(HidApiTest, OnDeviceAdded) {
|
|
|
| // Add a blocked device first so that the test will fail if a notification is
|
| // received.
|
| - hid_service_->AddDevice(kTestDeviceIds[3], 0x18D1, 0x58F1, false);
|
| - hid_service_->AddDevice(kTestDeviceIds[4], 0x18D1, 0x58F0, false);
|
| + device_client_->mock_service().AddDevice(kTestDeviceIds[3], 0x18D1, 0x58F1,
|
| + false);
|
| + device_client_->mock_service().AddDevice(kTestDeviceIds[4], 0x18D1, 0x58F0,
|
| + false);
|
| ASSERT_TRUE(result_listener.WaitUntilSatisfied());
|
| EXPECT_EQ("success", result_listener.message());
|
| }
|
| @@ -246,9 +261,9 @@ IN_PROC_BROWSER_TEST_F(HidApiTest, OnDeviceRemoved) {
|
|
|
| // Device C was not returned by chrome.hid.getDevices, the app will not get
|
| // a notification.
|
| - hid_service_->RemoveDevice(kTestDeviceIds[2]);
|
| + device_client_->mock_service().RemoveDevice(kTestDeviceIds[2]);
|
| // Device A was returned, the app will get a notification.
|
| - hid_service_->RemoveDevice(kTestDeviceIds[0]);
|
| + device_client_->mock_service().RemoveDevice(kTestDeviceIds[0]);
|
| ASSERT_TRUE(result_listener.WaitUntilSatisfied());
|
| EXPECT_EQ("success", result_listener.message());
|
| }
|
| @@ -261,11 +276,12 @@ IN_PROC_BROWSER_TEST_F(HidApiTest, GetUserSelectedDevices) {
|
| ASSERT_TRUE(open_listener.WaitUntilSatisfied());
|
|
|
| ExtensionTestMessageListener remove_listener("removed", false);
|
| - hid_service_->RemoveDevice(kTestDeviceIds[0]);
|
| + device_client_->mock_service().RemoveDevice(kTestDeviceIds[0]);
|
| ASSERT_TRUE(remove_listener.WaitUntilSatisfied());
|
|
|
| ExtensionTestMessageListener add_listener("added", false);
|
| - hid_service_->AddDevice(kTestDeviceIds[0], 0x18D1, 0x58F0, true);
|
| + device_client_->mock_service().AddDevice(kTestDeviceIds[0], 0x18D1, 0x58F0,
|
| + true);
|
| ASSERT_TRUE(add_listener.WaitUntilSatisfied());
|
| }
|
|
|
|
|