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

Unified Diff: chrome/browser/ui/ash/event_rewriter_unittest.cc

Issue 11346028: Allow Caps Lock to be remapped [part 2 of 2] (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review fix Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/ash/event_rewriter_unittest.cc
diff --git a/chrome/browser/ui/ash/event_rewriter_unittest.cc b/chrome/browser/ui/ash/event_rewriter_unittest.cc
index 9233040bfe38fc4eb57a532b252799be70589425..5c56d66021616b9435f32d074cee0a623c56ba39 100644
--- a/chrome/browser/ui/ash/event_rewriter_unittest.cc
+++ b/chrome/browser/ui/ash/event_rewriter_unittest.cc
@@ -5,9 +5,11 @@
#include "chrome/browser/ui/ash/event_rewriter.h"
#include "base/basictypes.h"
+#include "base/command_line.h"
#include "base/stringprintf.h"
#include "chrome/browser/api/prefs/pref_member.h"
#include "chrome/common/pref_names.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/testing_pref_service.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/events/event.h"
@@ -1508,8 +1510,40 @@ TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLock) {
ui::ET_KEY_PRESSED,
keycode_launch7_,
0U));
+ EXPECT_TRUE(xkeyboard.caps_lock_is_enabled_);
+}
+TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLockWithFlag) {
+ // TODO(yusukes): Reenable the test once build servers are upgraded.
+ TestingPrefService prefs;
+ chromeos::Preferences::RegisterUserPrefs(&prefs);
+
+ chromeos::input_method::MockXKeyboard xkeyboard;
+ EventRewriter rewriter;
+ rewriter.set_pref_service_for_testing(&prefs);
+ rewriter.set_xkeyboard_for_testing(&xkeyboard);
+ EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_);
+
+ // F16 should work as CapsLock even when --has-chromeos-keyboard is specified.
+ const CommandLine original_cl(*CommandLine::ForCurrentProcess());
+ CommandLine::ForCurrentProcess()->AppendSwitchASCII(
+ switches::kHasChromeOSKeyboard, "");
+
+ EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL,
+ ui::EF_CAPS_LOCK_DOWN,
+ ui::ET_KEY_PRESSED,
+ keycode_caps_lock_,
+ 0U,
+ KeyPress),
+ GetRewrittenEventAsString(&rewriter,
+ ui::VKEY_F16,
+ 0,
+ ui::ET_KEY_PRESSED,
+ keycode_launch7_,
+ 0U));
EXPECT_TRUE(xkeyboard.caps_lock_is_enabled_);
+
+ *CommandLine::ForCurrentProcess() = original_cl;
}
TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) {
@@ -1566,6 +1600,52 @@ TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) {
Mod1Mask | Mod3Mask));
}
+TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLockToControlWithFlag) {
+ // TODO(yusukes): Reenable the test once build servers are upgraded.
+ TestingPrefService prefs;
+ chromeos::Preferences::RegisterUserPrefs(&prefs);
+ IntegerPrefMember control;
+ control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs, NULL);
+ control.SetValue(chromeos::input_method::kControlKey);
+
+ EventRewriter rewriter;
+ rewriter.set_pref_service_for_testing(&prefs);
+
+ // The prefs::kLanguageRemapCapsLockKeyTo pref should be ignored when
+ // --has-chromeos-keyboard is set.
+ const CommandLine original_cl(*CommandLine::ForCurrentProcess());
+ CommandLine::ForCurrentProcess()->AppendSwitchASCII(
+ switches::kHasChromeOSKeyboard, "");
+
+ EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL,
+ ui::EF_CAPS_LOCK_DOWN,
+ ui::ET_KEY_PRESSED,
+ keycode_caps_lock_,
+ 0U,
+ KeyPress),
+ GetRewrittenEventAsString(&rewriter,
+ ui::VKEY_F16,
+ 0,
+ ui::ET_KEY_PRESSED,
+ keycode_launch7_,
+ 0U));
+
+ EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A,
+ 0,
+ ui::ET_KEY_PRESSED,
+ keycode_a_,
+ Mod3Mask,
+ KeyPress),
+ GetRewrittenEventAsString(&rewriter,
+ ui::VKEY_A,
+ 0,
+ ui::ET_KEY_PRESSED,
+ keycode_a_,
+ Mod3Mask));
+
+ *CommandLine::ForCurrentProcess() = original_cl;
+}
+
TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) {
// Remap CapsLock to Control.
TestingPrefService prefs;
« no previous file with comments | « chrome/browser/ui/ash/event_rewriter.cc ('k') | chrome/browser/ui/webui/options/chromeos/keyboard_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698