diff options
author | reillyg <reillyg@chromium.org> | 2015-11-24 11:57:01 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-11-24 19:58:16 +0000 |
commit | bcc08e21cc608fb91eb7f6549a4f9752521c9bf5 (patch) | |
tree | 8f4fb6d51eb56eb60a469a1f60cf7db0a6109e67 /device/hid | |
parent | 5ab80a80e0ba46888f173a1a019b1dcb64bb016a (diff) | |
download | chromium_src-bcc08e21cc608fb91eb7f6549a4f9752521c9bf5.zip chromium_src-bcc08e21cc608fb91eb7f6549a4f9752521c9bf5.tar.gz chromium_src-bcc08e21cc608fb91eb7f6549a4f9752521c9bf5.tar.bz2 |
Create shared MockDeviceClient and MockHidService classes.
Both of these classes are redefined in multiple tests (and more tests I
have out for review) so this change unifies the definitions.
BUG=None
Review URL: https://codereview.chromium.org/1462793003
Cr-Commit-Position: refs/heads/master@{#361419}
Diffstat (limited to 'device/hid')
-rw-r--r-- | device/hid/BUILD.gn | 14 | ||||
-rw-r--r-- | device/hid/hid.gyp | 15 | ||||
-rw-r--r-- | device/hid/mock_hid_service.cc | 30 | ||||
-rw-r--r-- | device/hid/mock_hid_service.h | 33 |
4 files changed, 92 insertions, 0 deletions
diff --git a/device/hid/BUILD.gn b/device/hid/BUILD.gn index 9288f70..4270ce8 100644 --- a/device/hid/BUILD.gn +++ b/device/hid/BUILD.gn @@ -61,3 +61,17 @@ source_set("hid") { deps += [ "//chromeos" ] } } + +source_set("mocks") { + testonly = true + + sources = [ + "mock_hid_service.cc", + "mock_hid_service.h", + ] + + public_deps = [ + ":hid", + "//testing/gmock", + ] +} diff --git a/device/hid/hid.gyp b/device/hid/hid.gyp index f7a0baf..2d0169b 100644 --- a/device/hid/hid.gyp +++ b/device/hid/hid.gyp @@ -66,5 +66,20 @@ }], ], }, + { + 'target_name': 'device_hid_mocks', + 'type': 'static_library', + 'include_dirs': [ + '../..', + ], + 'dependencies': [ + '../../testing/gmock.gyp:gmock', + 'device_hid', + ], + 'sources': [ + 'mock_hid_service.cc', + 'mock_hid_service.h', + ], + }, ], } diff --git a/device/hid/mock_hid_service.cc b/device/hid/mock_hid_service.cc new file mode 100644 index 0000000..7c73a35 --- /dev/null +++ b/device/hid/mock_hid_service.cc @@ -0,0 +1,30 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "device/hid/mock_hid_service.h" + +namespace device { + +MockHidService::MockHidService() {} + +MockHidService::~MockHidService() {} + +void MockHidService::AddDevice(scoped_refptr<HidDeviceInfo> info) { + HidService::AddDevice(info); +} + +void MockHidService::RemoveDevice(const HidDeviceId& device_id) { + HidService::RemoveDevice(device_id); +} + +void MockHidService::FirstEnumerationComplete() { + HidService::FirstEnumerationComplete(); +} + +const std::map<HidDeviceId, scoped_refptr<HidDeviceInfo>>& +MockHidService::devices() const { + return HidService::devices(); +} + +} // namespace device diff --git a/device/hid/mock_hid_service.h b/device/hid/mock_hid_service.h new file mode 100644 index 0000000..f5f6c82 --- /dev/null +++ b/device/hid/mock_hid_service.h @@ -0,0 +1,33 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef DEVICE_HID_MOCK_HID_SERVICE_H_ +#define DEVICE_HID_MOCK_HID_SERVICE_H_ + +#include <map> + +#include "device/hid/hid_service.h" +#include "testing/gmock/include/gmock/gmock.h" + +namespace device { + +class MockHidService : public HidService { + public: + MockHidService(); + ~MockHidService() override; + + // Public wrappers around protected functions needed for tests. + void AddDevice(scoped_refptr<HidDeviceInfo> info); + void RemoveDevice(const HidDeviceId& device_id); + void FirstEnumerationComplete(); + const std::map<HidDeviceId, scoped_refptr<HidDeviceInfo>>& devices() const; + + MOCK_METHOD2(Connect, + void(const HidDeviceId& device_id, + const ConnectCallback& callback)); +}; + +} // namespace device + +#endif // DEVICE_HID_MOCK_HID_SERVICE_H_ |