Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(697)

Side by Side Diff: media/base/user_input_monitor_unittest.cc

Issue 2577573002: Removes mouse listeners from UserInputMonitor. (Closed)
Patch Set: Addresses Wez's #7 comments. Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/base/user_input_monitor.h" 5 #include "media/base/user_input_monitor.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "media/base/keyboard_event_counter.h" 13 #include "media/base/keyboard_event_counter.h"
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "third_party/skia/include/core/SkPoint.h" 16 #include "third_party/skia/include/core/SkPoint.h"
17 17
18 #if defined(OS_LINUX) 18 #if defined(OS_LINUX)
19 #include "base/files/file_descriptor_watcher_posix.h" 19 #include "base/files/file_descriptor_watcher_posix.h"
20 #endif 20 #endif
21 21
22 namespace media { 22 namespace media {
23 23
24 class MockMouseListener : public UserInputMonitor::MouseEventListener {
25 public:
26 MOCK_METHOD1(OnMouseMoved, void(const SkIPoint& position));
27
28 virtual ~MockMouseListener() {}
29 };
30
31 #if defined(OS_LINUX) || defined(OS_WIN) 24 #if defined(OS_LINUX) || defined(OS_WIN)
32 TEST(UserInputMonitorTest, KeyPressCounter) { 25 TEST(UserInputMonitorTest, KeyPressCounter) {
Wez 2017/01/03 23:59:40 nit: Really strange that this test is bundled with
CJ 2017/01/07 00:12:35 Done.
33 KeyboardEventCounter counter; 26 KeyboardEventCounter counter;
34 27
35 EXPECT_EQ(0u, counter.GetKeyPressCount()); 28 EXPECT_EQ(0u, counter.GetKeyPressCount());
36 29
37 counter.OnKeyboardEvent(ui::ET_KEY_PRESSED, ui::VKEY_0); 30 counter.OnKeyboardEvent(ui::ET_KEY_PRESSED, ui::VKEY_0);
38 EXPECT_EQ(1u, counter.GetKeyPressCount()); 31 EXPECT_EQ(1u, counter.GetKeyPressCount());
39 32
40 // Holding the same key without releasing it does not increase the count. 33 // Holding the same key without releasing it does not increase the count.
41 counter.OnKeyboardEvent(ui::ET_KEY_PRESSED, ui::VKEY_0); 34 counter.OnKeyboardEvent(ui::ET_KEY_PRESSED, ui::VKEY_0);
42 EXPECT_EQ(1u, counter.GetKeyPressCount()); 35 EXPECT_EQ(1u, counter.GetKeyPressCount());
(...skipping 16 matching lines...) Expand all
59 base::MessageLoopForUI message_loop; 52 base::MessageLoopForUI message_loop;
60 #endif // defined(OS_LINUX) 53 #endif // defined(OS_LINUX)
61 54
62 base::RunLoop run_loop; 55 base::RunLoop run_loop;
63 std::unique_ptr<UserInputMonitor> monitor = UserInputMonitor::Create( 56 std::unique_ptr<UserInputMonitor> monitor = UserInputMonitor::Create(
64 message_loop.task_runner(), message_loop.task_runner()); 57 message_loop.task_runner(), message_loop.task_runner());
65 58
66 if (!monitor) 59 if (!monitor)
67 return; 60 return;
68 61
69 MockMouseListener listener;
70 // Ignore any callbacks.
71 EXPECT_CALL(listener, OnMouseMoved(testing::_)).Times(testing::AnyNumber());
72
73 #if !defined(OS_MACOSX)
74 monitor->AddMouseListener(&listener);
75 monitor->RemoveMouseListener(&listener);
76 #endif // !define(OS_MACOSX)
77
78 monitor->EnableKeyPressMonitoring(); 62 monitor->EnableKeyPressMonitoring();
79 monitor->DisableKeyPressMonitoring(); 63 monitor->DisableKeyPressMonitoring();
80 64
81 monitor.reset(); 65 monitor.reset();
82 run_loop.RunUntilIdle(); 66 run_loop.RunUntilIdle();
83 } 67 }
84 68
85 } // namespace media 69 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698