1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42

ash / keyboard / ui / keyboard_event_handler_unittest.cc [blame]

// 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