Index: ash/accelerators/accelerator_controller_unittest.cc |
diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc |
index c5ad9b7d31a8d15f7a4ebcdc8b937c6767bf0b61..e4f2b26ea6d1a300fa2597459321afa460c3a3b5 100644 |
--- a/ash/accelerators/accelerator_controller_unittest.cc |
+++ b/ash/accelerators/accelerator_controller_unittest.cc |
@@ -666,6 +666,30 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) { |
ReleaseAccelerator(ui::VKEY_A, ui::EF_SHIFT_DOWN))); |
EXPECT_TRUE(delegate->IsCapsLockEnabled()); |
+ // Do not handle when a shift pressed with other keys, and shift is |
+ // released first. |
+ delegate->SetCapsLockEnabled(true); |
+ EXPECT_FALSE(ProcessWithContext( |
+ ui::Accelerator(ui::VKEY_A, ui::EF_SHIFT_DOWN))); |
+ EXPECT_TRUE(delegate->IsCapsLockEnabled()); |
+ EXPECT_FALSE(ProcessWithContext( |
+ ReleaseAccelerator(ui::VKEY_LSHIFT, ui::EF_NONE))); |
+ EXPECT_TRUE(delegate->IsCapsLockEnabled()); |
+ |
+ EXPECT_FALSE(ProcessWithContext( |
+ ui::Accelerator(ui::VKEY_A, ui::EF_SHIFT_DOWN))); |
+ EXPECT_TRUE(delegate->IsCapsLockEnabled()); |
+ EXPECT_FALSE(ProcessWithContext( |
+ ReleaseAccelerator(ui::VKEY_SHIFT, ui::EF_NONE))); |
+ EXPECT_TRUE(delegate->IsCapsLockEnabled()); |
+ |
+ EXPECT_FALSE(ProcessWithContext( |
+ ui::Accelerator(ui::VKEY_A, ui::EF_SHIFT_DOWN))); |
+ EXPECT_TRUE(delegate->IsCapsLockEnabled()); |
+ EXPECT_FALSE(ProcessWithContext( |
+ ReleaseAccelerator(ui::VKEY_RSHIFT, ui::EF_NONE))); |
+ EXPECT_TRUE(delegate->IsCapsLockEnabled()); |
+ |
// Do not consume shift keyup when caps lock is off. |
delegate->SetCapsLockEnabled(false); |
EXPECT_FALSE(ProcessWithContext( |