diff options
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_ |