Chromium Code Reviews| Index: ash/wm/maximize_mode/maximize_mode_controller_unittest.cc |
| diff --git a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc |
| index 4145281969e4e5b210094f6375d5ccd3ab162902..de8be86e954346cf44c4bc97a01d33e4f78cceb3 100644 |
| --- a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc |
| +++ b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc |
| @@ -21,6 +21,10 @@ |
| #include "ui/gfx/vector3d_f.h" |
| #include "ui/message_center/message_center.h" |
| +#if defined(USE_X11) |
| +#include "ui/events/test/events_test_utils_x11.h" |
| +#endif |
| + |
| namespace ash { |
| namespace { |
| @@ -416,9 +420,9 @@ TEST_F(MaximizeModeControllerTest, Screenshot) { |
| EXPECT_EQ(1, delegate->handle_take_screenshot_count()); |
| event_generator.ReleaseKey(ui::VKEY_VOLUME_DOWN, 0); |
| } |
| -#endif // OS_CHROMEOS |
| -// Tests that maximize mode does not block Volume Up & Down events. |
| +// Tests that maximize mode allows volume up/down events originating |
| +// from dedicated buttons versus remapped keyboard buttons. |
| TEST_F(MaximizeModeControllerTest, AllowsVolumeControl) { |
|
sadrul
2014/05/26 14:39:52
wrap this test around if defined(USE_X11) instead
bruthig
2014/05/26 14:53:59
Done.
|
| aura::Window* root = Shell::GetPrimaryRootWindow(); |
| aura::test::EventGenerator event_generator(root, root); |
| @@ -433,18 +437,39 @@ TEST_F(MaximizeModeControllerTest, AllowsVolumeControl) { |
| gfx::Vector3dF(-1.0f, 0.0f, 0.0f)); |
| ASSERT_TRUE(IsMaximizeModeStarted()); |
| + ui::ScopedXI2Event xevent; |
| + |
| + // Verify F9 button event is blocked |
| + ASSERT_EQ(0, volume_delegate->handle_volume_down_count()); |
| + xevent.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_DOWN, ui::EF_NONE); |
| + ui::KeyEvent press_f9(xevent, false /*is_char*/); |
| + press_f9.set_flags(ui::EF_FUNCTION_KEY); |
| + event_generator.Dispatch(&press_f9); |
| + EXPECT_EQ(0, volume_delegate->handle_volume_down_count()); |
| + |
| + // Verify F10 button event is blocked |
| + ASSERT_EQ(0, volume_delegate->handle_volume_up_count()); |
| + xevent.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_UP, ui::EF_NONE); |
| + ui::KeyEvent press_f10(xevent, false /*is_char*/); |
| + press_f10.set_flags(ui::EF_FUNCTION_KEY); |
| + event_generator.Dispatch(&press_f10); |
| + EXPECT_EQ(0, volume_delegate->handle_volume_up_count()); |
| + |
| // Verify volume down button event is not blocked |
| ASSERT_EQ(0, volume_delegate->handle_volume_down_count()); |
| - event_generator.PressKey(ui::VKEY_VOLUME_DOWN, 0); |
| - event_generator.ReleaseKey(ui::VKEY_VOLUME_DOWN, 0); |
| + xevent.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_DOWN, ui::EF_NONE); |
| + ui::KeyEvent press_vol_down(xevent, false /*is_char*/); |
| + event_generator.Dispatch(&press_vol_down); |
| EXPECT_EQ(1, volume_delegate->handle_volume_down_count()); |
| // Verify volume up event is not blocked |
| ASSERT_EQ(0, volume_delegate->handle_volume_up_count()); |
| - event_generator.PressKey(ui::VKEY_VOLUME_UP, 0); |
| - event_generator.ReleaseKey(ui::VKEY_VOLUME_UP, 0); |
| + xevent.InitKeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_VOLUME_UP, ui::EF_NONE); |
| + ui::KeyEvent press_vol_up(xevent, false /*is_char*/); |
| + event_generator.Dispatch(&press_vol_up); |
| EXPECT_EQ(1, volume_delegate->handle_volume_up_count()); |
| } |
| +#endif // OS_CHROMEOS |
| TEST_F(MaximizeModeControllerTest, LaptopTest) { |
| // Feeds in sample accelerometer data and verifies that there are no |