| // Copyright 2017 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ash/keyboard/ui/keyboard_event_handler.h" |
| |
| #include "ash/keyboard/ui/keyboard_ui_controller.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "ui/events/event.h" |
| |
| namespace keyboard { |
| |
| TEST(KeyboardEventHandlerTest, HandleGestureEvents) { |
| // KeyboardEventHandler needs a KeyboardUIController to be present, otherwise |
| // handling gesture events will crash. |
| KeyboardUIController controller; |
| |
| KeyboardEventHandler filter; |
| ui::GestureEvent pinch_begin( |
| 15, 15, 0, base::TimeTicks(), |
| ui::GestureEventDetails(ui::EventType::kGesturePinchBegin)); |
| ui::GestureEvent pinch_update( |
| 20, 20, 0, base::TimeTicks(), |
| ui::GestureEventDetails(ui::EventType::kGesturePinchUpdate)); |
| ui::GestureEvent pinch_end( |
| 30, 30, 0, base::TimeTicks(), |
| ui::GestureEventDetails(ui::EventType::kGesturePinchEnd)); |
| filter.OnGestureEvent(&pinch_begin); |
| filter.OnGestureEvent(&pinch_update); |
| filter.OnGestureEvent(&pinch_end); |
| |
| EXPECT_TRUE(pinch_begin.stopped_propagation()); |
| EXPECT_TRUE(pinch_update.stopped_propagation()); |
| EXPECT_TRUE(pinch_end.stopped_propagation()); |
| |
| ui::GestureEvent tap(15, 15, 0, base::TimeTicks(), |
| ui::GestureEventDetails(ui::EventType::kGestureTap)); |
| filter.OnGestureEvent(&tap); |
| EXPECT_FALSE(tap.stopped_propagation()); |
| } |
| |
| } // namespace keyboard |