| Index: ash/accelerators/accelerator_filter_unittest.cc
|
| diff --git a/ash/accelerators/accelerator_filter_unittest.cc b/ash/accelerators/accelerator_filter_unittest.cc
|
| index a4e9c297b5643cc36349e460f9ca0e246b288181..12991369212c5a2c64e4361a049b1f92ec4f8441 100644
|
| --- a/ash/accelerators/accelerator_filter_unittest.cc
|
| +++ b/ash/accelerators/accelerator_filter_unittest.cc
|
| @@ -19,6 +19,7 @@
|
| #include "ui/aura/window.h"
|
| #include "ui/base/accelerators/accelerator_history.h"
|
| #include "ui/events/event.h"
|
| +#include "ui/events/event_utils.h"
|
| #include "ui/events/test/event_generator.h"
|
| #include "ui/gfx/geometry/rect.h"
|
|
|
| @@ -134,5 +135,34 @@ TEST_F(AcceleratorFilterTest, CanConsumeSystemKeys) {
|
| }
|
| #endif // defined(OS_CHROMEOS)
|
|
|
| +// Tests that pressing 'SEARCH' + LeftMouseClick, which will be rewritten as a
|
| +// RightMouseClick, will not toggle the AppList.
|
| +// This test will fail without the code to clear the current accelerator in
|
| +// the accelerator history present in |AcceleratorFilter::OnMouseEvent()|.
|
| +TEST_F(AcceleratorFilterTest, SearchClickDoesntToggleAppList) {
|
| + ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
|
| +
|
| + EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
|
| + generator.PressKey(ui::VKEY_LWIN, 0);
|
| + generator.ClickLeftButton();
|
| + generator.ReleaseKey(ui::VKEY_LWIN, 0);
|
| + EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
|
| +}
|
| +
|
| +// Make sure that synthesized mouse events don't interfere with tracking
|
| +// the key accelerators.
|
| +TEST_F(AcceleratorFilterTest, SynthesizeMouseEventsAreIgnored) {
|
| + ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
|
| + const gfx::Point origin(0, 0);
|
| +
|
| + EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
|
| + generator.PressKey(ui::VKEY_LWIN, 0);
|
| + ui::MouseEvent mouse_event(ui::ET_MOUSE_MOVED, origin, origin,
|
| + ui::EventTimeForNow(), ui::EF_IS_SYNTHESIZED, 0);
|
| + generator.Dispatch(&mouse_event);
|
| + generator.ReleaseKey(ui::VKEY_LWIN, 0);
|
| + EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
|
| +}
|
| +
|
| } // namespace test
|
| } // namespace ash
|
|
|