Index: remoting/protocol/clipboard_filter_unittest.cc |
diff --git a/remoting/protocol/clipboard_filter_unittest.cc b/remoting/protocol/clipboard_filter_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d0cff8894db02cbe15ac236436661aed84f64fb4 |
--- /dev/null |
+++ b/remoting/protocol/clipboard_filter_unittest.cc |
@@ -0,0 +1,60 @@ |
+// Copyright (c) 2012 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 "remoting/protocol/clipboard_filter.h" |
+ |
+#include "remoting/proto/event.pb.h" |
+#include "remoting/protocol/protocol_mock_objects.h" |
+#include "testing/gmock/include/gmock/gmock.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+using ::testing::_; |
+ |
+namespace remoting { |
+namespace protocol { |
+ |
+MATCHER_P2(EqualsClipboardEvent, mime_type, data, "") { |
+ return arg.mime_type() == mime_type && arg.data() == data; |
+} |
+ |
+static ClipboardEvent MakeClipboardEvent(const std::string& mime_type, |
+ const std::string& data) { |
+ ClipboardEvent event; |
+ event.set_mime_type(mime_type); |
+ event.set_data(data); |
+ return event; |
+} |
+ |
+// Verify that the filter passes events on correctly to a configured stub. |
+TEST(ClipboardFilterTest, EventsPassThroughFilter) { |
+ MockClipboardStub clipboard_stub; |
+ ClipboardFilter clipboard_filter(&clipboard_stub); |
+ |
+ EXPECT_CALL(clipboard_stub, |
+ InjectClipboardEvent(EqualsClipboardEvent("text", "foo"))); |
+ |
+ clipboard_filter.InjectClipboardEvent(MakeClipboardEvent("text","foo")); |
+} |
+ |
+// Verify that the filter ignores events if disabled. |
+TEST(ClipboardFilterTest, IgnoreEventsIfDisabled) { |
+ MockClipboardStub clipboard_stub; |
+ ClipboardFilter clipboard_filter(&clipboard_stub); |
+ |
+ clipboard_filter.set_enabled(false); |
+ |
+ EXPECT_CALL(clipboard_stub, InjectClipboardEvent(_)).Times(0); |
+ |
+ clipboard_filter.InjectClipboardEvent(MakeClipboardEvent("text","foo")); |
+} |
+ |
+// Verify that the filter ignores events if not configured. |
+TEST(ClipboardFilterTest, IgnoreEventsIfNotConfigured) { |
+ ClipboardFilter clipboard_filter; |
+ |
+ clipboard_filter.InjectClipboardEvent(MakeClipboardEvent("text","foo")); |
+} |
+ |
+} // namespace protocol |
+} // namespace remoting |