test_event_handler.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // Copyright (c) 2012 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef UI_EVENTS_TEST_TEST_EVENT_HANDLER_H_
  5. #define UI_EVENTS_TEST_TEST_EVENT_HANDLER_H_
  6. #include <string>
  7. #include <vector>
  8. #include "base/memory/raw_ptr.h"
  9. #include "ui/events/event_handler.h"
  10. typedef std::vector<std::string> HandlerSequenceRecorder;
  11. namespace ui {
  12. namespace test {
  13. // A simple EventHandler that keeps track of the number of key events that it's
  14. // seen.
  15. class TestEventHandler : public EventHandler {
  16. public:
  17. TestEventHandler();
  18. TestEventHandler(const TestEventHandler&) = delete;
  19. TestEventHandler& operator=(const TestEventHandler&) = delete;
  20. ~TestEventHandler() override;
  21. int num_key_events() const { return num_key_events_; }
  22. int num_mouse_events() const { return num_mouse_events_; }
  23. int num_scroll_events() const { return num_scroll_events_; }
  24. int num_touch_events() const { return num_touch_events_; }
  25. int num_gesture_events() const { return num_gesture_events_; }
  26. void Reset();
  27. void set_recorder(HandlerSequenceRecorder* recorder) {
  28. recorder_ = recorder;
  29. }
  30. void set_handler_name(const std::string& handler_name) {
  31. handler_name_ = handler_name;
  32. }
  33. const std::string& handler_name() const { return handler_name_; }
  34. // EventHandler overrides:
  35. void OnKeyEvent(KeyEvent* event) override;
  36. void OnMouseEvent(MouseEvent* event) override;
  37. void OnScrollEvent(ScrollEvent* event) override;
  38. void OnTouchEvent(TouchEvent* event) override;
  39. void OnGestureEvent(GestureEvent* event) override;
  40. private:
  41. // How many events have been received of each type?
  42. int num_key_events_;
  43. int num_mouse_events_;
  44. int num_scroll_events_;
  45. int num_touch_events_;
  46. int num_gesture_events_;
  47. raw_ptr<HandlerSequenceRecorder> recorder_;
  48. std::string handler_name_;
  49. };
  50. } // namespace test
  51. } // namespace ui
  52. #endif // UI_EVENTS_TEST_TEST_EVENT_HANDLER_H_