summaryrefslogtreecommitdiffstats
path: root/device/hid
diff options
context:
space:
mode:
authorreillyg <reillyg@chromium.org>2015-11-24 11:57:01 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-24 19:58:16 +0000
commitbcc08e21cc608fb91eb7f6549a4f9752521c9bf5 (patch)
tree8f4fb6d51eb56eb60a469a1f60cf7db0a6109e67 /device/hid
parent5ab80a80e0ba46888f173a1a019b1dcb64bb016a (diff)
downloadchromium_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.gn14
-rw-r--r--device/hid/hid.gyp15
-rw-r--r--device/hid/mock_hid_service.cc30
-rw-r--r--device/hid/mock_hid_service.h33
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_