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

Unified Diff: chrome/browser/chromeos/events/event_rewriter_unittest.cc

Issue 399443004: Maintain Diamond (F15) modifier state when rewriting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments (derat). Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/events/event_rewriter.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/events/event_rewriter_unittest.cc
diff --git a/chrome/browser/chromeos/events/event_rewriter_unittest.cc b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
index 47e80101c4df06120846b2d40846ed4ded6bc99e..21cc47919479ff26d3249d7ed06faf2ffcc77e6e 100644
--- a/chrome/browser/chromeos/events/event_rewriter_unittest.cc
+++ b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
@@ -1027,6 +1027,11 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKey) {
{ui::VKEY_F15, ui::EF_NONE},
{ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN}},
+ {KeyTestCase::TEST_VKEY,
+ ui::ET_KEY_RELEASED,
+ {ui::VKEY_F15, ui::EF_NONE},
+ {ui::VKEY_CONTROL, ui::EF_NONE}},
+
// However, Mod2Mask should not be rewritten to CtrlMask when
// --has-chromeos-diamond-key is not specified.
{KeyTestCase::TEST_VKEY,
@@ -1060,6 +1065,21 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) {
ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN, ui::ET_KEY_PRESSED),
GetRewrittenEventAsString(
&rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Check that Control is applied to a subsequent key press.
+ EXPECT_EQ(GetExpectedResultAsString(
+ ui::VKEY_A, ui::EF_CONTROL_DOWN, ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Release F15
+ EXPECT_EQ(GetExpectedResultAsString(
+ ui::VKEY_CONTROL, ui::EF_NONE, ui::ET_KEY_RELEASED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ // Check that Control is no longer applied to a subsequent key press.
+ EXPECT_EQ(
+ GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
IntegerPrefMember diamond;
diamond.Init(prefs::kLanguageRemapDiamondKeyTo, &prefs);
@@ -1069,6 +1089,11 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) {
ui::VKEY_UNKNOWN, ui::EF_NONE, ui::ET_KEY_PRESSED),
GetRewrittenEventAsString(
&rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Check that no modifier is applied to another key.
+ EXPECT_EQ(
+ GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
diamond.SetValue(chromeos::input_method::kControlKey);
@@ -1076,6 +1101,21 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) {
ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN, ui::ET_KEY_PRESSED),
GetRewrittenEventAsString(
&rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Check that Control is applied to a subsequent key press.
+ EXPECT_EQ(GetExpectedResultAsString(
+ ui::VKEY_A, ui::EF_CONTROL_DOWN, ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Release F15
+ EXPECT_EQ(GetExpectedResultAsString(
+ ui::VKEY_CONTROL, ui::EF_NONE, ui::ET_KEY_RELEASED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ // Check that Control is no longer applied to a subsequent key press.
+ EXPECT_EQ(
+ GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
diamond.SetValue(chromeos::input_method::kAltKey);
@@ -1083,6 +1123,21 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) {
ui::VKEY_MENU, ui::EF_ALT_DOWN, ui::ET_KEY_PRESSED),
GetRewrittenEventAsString(
&rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Check that Alt is applied to a subsequent key press.
+ EXPECT_EQ(GetExpectedResultAsString(
+ ui::VKEY_A, ui::EF_ALT_DOWN, ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Release F15
+ EXPECT_EQ(GetExpectedResultAsString(
+ ui::VKEY_MENU, ui::EF_NONE, ui::ET_KEY_RELEASED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ // Check that Alt is no longer applied to a subsequent key press.
+ EXPECT_EQ(
+ GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
diamond.SetValue(chromeos::input_method::kCapsLockKey);
@@ -1091,6 +1146,22 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) {
ui::ET_KEY_PRESSED),
GetRewrittenEventAsString(
&rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Check that Caps is applied to a subsequent key press.
+ EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A,
+ ui::EF_CAPS_LOCK_DOWN | ui::EF_MOD3_DOWN,
+ ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
+ // Release F15
+ EXPECT_EQ(GetExpectedResultAsString(
+ ui::VKEY_CAPITAL, ui::EF_NONE, ui::ET_KEY_RELEASED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_F15, ui::EF_NONE, ui::ET_KEY_RELEASED));
+ // Check that Control is no longer applied to a subsequent key press.
+ EXPECT_EQ(
+ GetExpectedResultAsString(ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED),
+ GetRewrittenEventAsString(
+ &rewriter, ui::VKEY_A, ui::EF_NONE, ui::ET_KEY_PRESSED));
*CommandLine::ForCurrentProcess() = original_cl;
}
« no previous file with comments | « chrome/browser/chromeos/events/event_rewriter.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698