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

Side by Side Diff: chrome/browser/chromeos/events/event_rewriter_unittest.cc

Issue 2504513002: Make FakeChromeUserManager subclass of ChromeUserManager (Closed)
Patch Set: Addressed comment Created 4 years, 1 month 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/auth/cryptohome_authenticator_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/chromeos/events/event_rewriter.h" 5 #include "chrome/browser/chromeos/events/event_rewriter.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/common/wm/window_state.h" 9 #include "ash/common/wm/window_state.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
11 #include "ash/sticky_keys/sticky_keys_controller.h" 11 #include "ash/sticky_keys/sticky_keys_controller.h"
12 #include "ash/sticky_keys/sticky_keys_overlay.h" 12 #include "ash/sticky_keys/sticky_keys_overlay.h"
13 #include "ash/test/ash_test_base.h" 13 #include "ash/test/ash_test_base.h"
14 #include "ash/wm/window_state_aura.h" 14 #include "ash/wm/window_state_aura.h"
15 #include "base/command_line.h" 15 #include "base/command_line.h"
16 #include "base/macros.h" 16 #include "base/macros.h"
17 #include "base/strings/stringprintf.h" 17 #include "base/strings/stringprintf.h"
18 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" 18 #include "chrome/browser/chromeos/input_method/input_method_configuration.h"
19 #include "chrome/browser/chromeos/input_method/mock_input_method_manager.h" 19 #include "chrome/browser/chromeos/input_method/mock_input_method_manager.h"
20 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
20 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" 21 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
21 #include "chrome/browser/chromeos/preferences.h" 22 #include "chrome/browser/chromeos/preferences.h"
22 #include "chrome/common/pref_names.h" 23 #include "chrome/common/pref_names.h"
23 #include "chromeos/chromeos_switches.h" 24 #include "chromeos/chromeos_switches.h"
24 #include "components/prefs/pref_member.h" 25 #include "components/prefs/pref_member.h"
25 #include "components/sync_preferences/testing_pref_service_syncable.h" 26 #include "components/sync_preferences/testing_pref_service_syncable.h"
26 #include "components/user_manager/fake_user_manager.h"
27 #include "testing/gtest/include/gtest/gtest.h" 27 #include "testing/gtest/include/gtest/gtest.h"
28 #include "ui/aura/window.h" 28 #include "ui/aura/window.h"
29 #include "ui/aura/window_tree_host.h" 29 #include "ui/aura/window_tree_host.h"
30 #include "ui/base/ime/chromeos/fake_ime_keyboard.h" 30 #include "ui/base/ime/chromeos/fake_ime_keyboard.h"
31 #include "ui/events/event.h" 31 #include "ui/events/event.h"
32 #include "ui/events/event_rewriter.h" 32 #include "ui/events/event_rewriter.h"
33 #include "ui/events/event_utils.h" 33 #include "ui/events/event_utils.h"
34 #include "ui/events/keycodes/dom/dom_code.h" 34 #include "ui/events/keycodes/dom/dom_code.h"
35 #include "ui/events/keycodes/dom/dom_key.h" 35 #include "ui/events/keycodes/dom/dom_key.h"
36 #include "ui/events/keycodes/dom/keycode_converter.h" 36 #include "ui/events/keycodes/dom/keycode_converter.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 test.input.code, test.input.flags, test.input.key)); 113 test.input.code, test.input.flags, test.input.key));
114 } 114 }
115 115
116 } // namespace 116 } // namespace
117 117
118 namespace chromeos { 118 namespace chromeos {
119 119
120 class EventRewriterTest : public ash::test::AshTestBase { 120 class EventRewriterTest : public ash::test::AshTestBase {
121 public: 121 public:
122 EventRewriterTest() 122 EventRewriterTest()
123 : fake_user_manager_(new user_manager::FakeUserManager), 123 : fake_user_manager_(new chromeos::FakeChromeUserManager),
124 user_manager_enabler_(fake_user_manager_), 124 user_manager_enabler_(fake_user_manager_),
125 input_method_manager_mock_(NULL) {} 125 input_method_manager_mock_(NULL) {}
126 ~EventRewriterTest() override {} 126 ~EventRewriterTest() override {}
127 127
128 void SetUp() override { 128 void SetUp() override {
129 input_method_manager_mock_ = 129 input_method_manager_mock_ =
130 new chromeos::input_method::MockInputMethodManager; 130 new chromeos::input_method::MockInputMethodManager;
131 chromeos::input_method::InitializeForTesting( 131 chromeos::input_method::InitializeForTesting(
132 input_method_manager_mock_); // pass ownership 132 input_method_manager_mock_); // pass ownership
133 133
(...skipping 11 matching lines...) Expand all
145 void TestRewriteNumPadKeysOnAppleKeyboard(); 145 void TestRewriteNumPadKeysOnAppleKeyboard();
146 146
147 const ui::MouseEvent* RewriteMouseButtonEvent( 147 const ui::MouseEvent* RewriteMouseButtonEvent(
148 chromeos::EventRewriter* rewriter, 148 chromeos::EventRewriter* rewriter,
149 const ui::MouseEvent& event, 149 const ui::MouseEvent& event,
150 std::unique_ptr<ui::Event>* new_event) { 150 std::unique_ptr<ui::Event>* new_event) {
151 rewriter->RewriteMouseButtonEventForTesting(event, new_event); 151 rewriter->RewriteMouseButtonEventForTesting(event, new_event);
152 return *new_event ? new_event->get()->AsMouseEvent() : &event; 152 return *new_event ? new_event->get()->AsMouseEvent() : &event;
153 } 153 }
154 154
155 user_manager::FakeUserManager* fake_user_manager_; // Not owned. 155 chromeos::FakeChromeUserManager* fake_user_manager_; // Not owned.
156 chromeos::ScopedUserManagerEnabler user_manager_enabler_; 156 chromeos::ScopedUserManagerEnabler user_manager_enabler_;
157 chromeos::input_method::MockInputMethodManager* input_method_manager_mock_; 157 chromeos::input_method::MockInputMethodManager* input_method_manager_mock_;
158 }; 158 };
159 159
160 TEST_F(EventRewriterTest, TestRewriteCommandToControl) { 160 TEST_F(EventRewriterTest, TestRewriteCommandToControl) {
161 // First, test with a PC keyboard. 161 // First, test with a PC keyboard.
162 sync_preferences::TestingPrefServiceSyncable prefs; 162 sync_preferences::TestingPrefServiceSyncable prefs;
163 EventRewriter rewriter(NULL); 163 EventRewriter rewriter(NULL);
164 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); 164 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
165 rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); 165 rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId);
(...skipping 1815 matching lines...) Expand 10 before | Expand all | Expand 10 after
1981 1981
1982 private: 1982 private:
1983 ui::EventProcessor* processor_; 1983 ui::EventProcessor* processor_;
1984 }; 1984 };
1985 1985
1986 // Tests of event rewriting that depend on the Ash window manager. 1986 // Tests of event rewriting that depend on the Ash window manager.
1987 class EventRewriterAshTest : public ash::test::AshTestBase { 1987 class EventRewriterAshTest : public ash::test::AshTestBase {
1988 public: 1988 public:
1989 EventRewriterAshTest() 1989 EventRewriterAshTest()
1990 : source_(&buffer_), 1990 : source_(&buffer_),
1991 fake_user_manager_(new user_manager::FakeUserManager), 1991 fake_user_manager_(new chromeos::FakeChromeUserManager),
1992 user_manager_enabler_(fake_user_manager_) {} 1992 user_manager_enabler_(fake_user_manager_) {}
1993 ~EventRewriterAshTest() override {} 1993 ~EventRewriterAshTest() override {}
1994 1994
1995 bool RewriteFunctionKeys(const ui::Event& event, 1995 bool RewriteFunctionKeys(const ui::Event& event,
1996 std::unique_ptr<ui::Event>* rewritten_event) { 1996 std::unique_ptr<ui::Event>* rewritten_event) {
1997 return rewriter_->RewriteEvent(event, rewritten_event); 1997 return rewriter_->RewriteEvent(event, rewritten_event);
1998 } 1998 }
1999 1999
2000 ui::EventDispatchDetails Send(ui::Event* event) { 2000 ui::EventDispatchDetails Send(ui::Event* event) {
2001 return source_.Send(event); 2001 return source_.Send(event);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
2044 2044
2045 protected: 2045 protected:
2046 ash::StickyKeysController* sticky_keys_controller_; 2046 ash::StickyKeysController* sticky_keys_controller_;
2047 2047
2048 private: 2048 private:
2049 std::unique_ptr<EventRewriter> rewriter_; 2049 std::unique_ptr<EventRewriter> rewriter_;
2050 2050
2051 EventBuffer buffer_; 2051 EventBuffer buffer_;
2052 TestEventSource source_; 2052 TestEventSource source_;
2053 2053
2054 user_manager::FakeUserManager* fake_user_manager_; // Not owned. 2054 chromeos::FakeChromeUserManager* fake_user_manager_; // Not owned.
2055 chromeos::ScopedUserManagerEnabler user_manager_enabler_; 2055 chromeos::ScopedUserManagerEnabler user_manager_enabler_;
2056 sync_preferences::TestingPrefServiceSyncable prefs_; 2056 sync_preferences::TestingPrefServiceSyncable prefs_;
2057 2057
2058 DISALLOW_COPY_AND_ASSIGN(EventRewriterAshTest); 2058 DISALLOW_COPY_AND_ASSIGN(EventRewriterAshTest);
2059 }; 2059 };
2060 2060
2061 TEST_F(EventRewriterAshTest, TopRowKeysAreFunctionKeys) { 2061 TEST_F(EventRewriterAshTest, TopRowKeysAreFunctionKeys) {
2062 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(1)); 2062 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(1));
2063 ash::wm::WindowState* window_state = ash::wm::GetWindowState(window.get()); 2063 ash::wm::WindowState* window_state = ash::wm::GetWindowState(window.get());
2064 window_state->Activate(); 2064 window_state->Activate();
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
2688 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); 2688 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN));
2689 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); 2689 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN));
2690 2690
2691 // Turn off AltGr and Mod3. 2691 // Turn off AltGr and Mod3.
2692 sticky_keys_controller_->SetModifiersEnabled(false, false); 2692 sticky_keys_controller_->SetModifiersEnabled(false, false);
2693 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); 2693 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN));
2694 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); 2694 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN));
2695 } 2695 }
2696 2696
2697 } // namespace chromeos 2697 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/auth/cryptohome_authenticator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698