| 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 a1777718ebca94efb2730f8c3b3eada72286914e..2304d7fbc7ad51ef021c697561ee05dcf26ea2ec 100644
|
| --- a/chrome/browser/chromeos/events/event_rewriter_unittest.cc
|
| +++ b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
|
| @@ -1017,6 +1017,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,
|
| @@ -1050,6 +1055,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);
|
| @@ -1059,6 +1079,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);
|
|
|
| @@ -1066,6 +1091,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);
|
|
|
| @@ -1073,6 +1113,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);
|
|
|
| @@ -1081,6 +1136,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;
|
| }
|
|
|