| Index: ui/events/gestures/motion_event_aura_unittest.cc
|
| diff --git a/ui/events/gestures/motion_event_aura_unittest.cc b/ui/events/gestures/motion_event_aura_unittest.cc
|
| deleted file mode 100644
|
| index 6e645dc6ff306dca7a5adb07749c01673bf225c2..0000000000000000000000000000000000000000
|
| --- a/ui/events/gestures/motion_event_aura_unittest.cc
|
| +++ /dev/null
|
| @@ -1,423 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -// MSVC++ requires this to be set before any other includes to get M_PI.
|
| -#define _USE_MATH_DEFINES
|
| -
|
| -#include <cmath>
|
| -
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/events/event.h"
|
| -#include "ui/events/gestures/motion_event_aura.h"
|
| -
|
| -namespace {
|
| -
|
| -ui::TouchEvent TouchWithType(ui::EventType type, int id) {
|
| - return ui::TouchEvent(
|
| - type, gfx::PointF(0, 0), id, base::TimeDelta::FromMilliseconds(0));
|
| -}
|
| -
|
| -ui::TouchEvent TouchWithPosition(ui::EventType type,
|
| - int id,
|
| - float x,
|
| - float y,
|
| - float raw_x,
|
| - float raw_y) {
|
| - ui::TouchEvent event(type,
|
| - gfx::PointF(x, y),
|
| - 0,
|
| - id,
|
| - base::TimeDelta::FromMilliseconds(0),
|
| - 0,
|
| - 0,
|
| - 0,
|
| - 0);
|
| - event.set_root_location(gfx::PointF(raw_x, raw_y));
|
| - return event;
|
| -}
|
| -
|
| -ui::TouchEvent TouchWithTapParams(ui::EventType type,
|
| - int id,
|
| - float radius_x,
|
| - float radius_y,
|
| - float rotation_angle,
|
| - float pressure) {
|
| - ui::TouchEvent event(type,
|
| - gfx::PointF(1, 1),
|
| - 0,
|
| - id,
|
| - base::TimeDelta::FromMilliseconds(0),
|
| - radius_x,
|
| - radius_y,
|
| - rotation_angle,
|
| - pressure);
|
| - event.set_root_location(gfx::PointF(1, 1));
|
| - return event;
|
| -}
|
| -
|
| -ui::TouchEvent TouchWithTime(ui::EventType type, int id, int ms) {
|
| - return ui::TouchEvent(
|
| - type, gfx::PointF(0, 0), id, base::TimeDelta::FromMilliseconds(ms));
|
| -}
|
| -
|
| -base::TimeTicks MsToTicks(int ms) {
|
| - return base::TimeTicks() + base::TimeDelta::FromMilliseconds(ms);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -namespace ui {
|
| -
|
| -TEST(MotionEventAuraTest, PointerCountAndIds) {
|
| - // Test that |PointerCount()| returns the correct number of pointers, and ids
|
| - // are assigned correctly.
|
| - int ids[] = {4, 6, 1};
|
| -
|
| - MotionEventAura event;
|
| - EXPECT_EQ(0U, event.GetPointerCount());
|
| -
|
| - TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
|
| - event.OnTouch(press0);
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| -
|
| - EXPECT_EQ(ids[0], event.GetPointerId(0));
|
| -
|
| - TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
|
| - event.OnTouch(press1);
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| -
|
| - EXPECT_EQ(ids[0], event.GetPointerId(0));
|
| - EXPECT_EQ(ids[1], event.GetPointerId(1));
|
| -
|
| - TouchEvent press2 = TouchWithType(ET_TOUCH_PRESSED, ids[2]);
|
| - event.OnTouch(press2);
|
| - EXPECT_EQ(3U, event.GetPointerCount());
|
| -
|
| - EXPECT_EQ(ids[0], event.GetPointerId(0));
|
| - EXPECT_EQ(ids[1], event.GetPointerId(1));
|
| - EXPECT_EQ(ids[2], event.GetPointerId(2));
|
| -
|
| - TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]);
|
| - event.OnTouch(release1);
|
| - event.CleanupRemovedTouchPoints(release1);
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| -
|
| - EXPECT_EQ(ids[0], event.GetPointerId(0));
|
| - EXPECT_EQ(ids[2], event.GetPointerId(1));
|
| -
|
| - // Test cloning of pointer count and id information.
|
| - // TODO(mustaq): Make a separate clone test
|
| - scoped_ptr<MotionEvent> clone = event.Clone();
|
| - EXPECT_EQ(2U, clone->GetPointerCount());
|
| - EXPECT_EQ(ids[0], clone->GetPointerId(0));
|
| - EXPECT_EQ(ids[2], clone->GetPointerId(1));
|
| -
|
| - TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[0]);
|
| - event.OnTouch(release0);
|
| - event.CleanupRemovedTouchPoints(release0);
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| -
|
| - EXPECT_EQ(ids[2], event.GetPointerId(0));
|
| -
|
| - TouchEvent release2 = TouchWithType(ET_TOUCH_RELEASED, ids[2]);
|
| - event.OnTouch(release2);
|
| - event.CleanupRemovedTouchPoints(release2);
|
| - EXPECT_EQ(0U, event.GetPointerCount());
|
| -}
|
| -
|
| -TEST(MotionEventAuraTest, GetActionIndexAfterRemoval) {
|
| - // Test that |GetActionIndex()| returns the correct index when points have
|
| - // been removed.
|
| - int ids[] = {4, 6, 9};
|
| -
|
| - MotionEventAura event;
|
| - EXPECT_EQ(0U, event.GetPointerCount());
|
| -
|
| - TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
|
| - event.OnTouch(press0);
|
| - TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
|
| - event.OnTouch(press1);
|
| - TouchEvent press2 = TouchWithType(ET_TOUCH_PRESSED, ids[2]);
|
| - event.OnTouch(press2);
|
| - EXPECT_EQ(3U, event.GetPointerCount());
|
| -
|
| - TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]);
|
| - event.OnTouch(release1);
|
| - event.CleanupRemovedTouchPoints(release1);
|
| - EXPECT_EQ(1, event.GetActionIndex());
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| -
|
| - TouchEvent release2 = TouchWithType(ET_TOUCH_RELEASED, ids[0]);
|
| - event.OnTouch(release2);
|
| - event.CleanupRemovedTouchPoints(release2);
|
| - EXPECT_EQ(0, event.GetActionIndex());
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| -
|
| - TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[2]);
|
| - event.OnTouch(release0);
|
| - event.CleanupRemovedTouchPoints(release0);
|
| - EXPECT_EQ(0U, event.GetPointerCount());
|
| -}
|
| -
|
| -TEST(MotionEventAuraTest, PointerLocations) {
|
| - // Test that location information is stored correctly.
|
| - MotionEventAura event;
|
| -
|
| - const float kRawOffsetX = 11.1f;
|
| - const float kRawOffsetY = 13.3f;
|
| -
|
| - int ids[] = {15, 13};
|
| - float x;
|
| - float y;
|
| - float raw_x;
|
| - float raw_y;
|
| -
|
| - x = 14.4f;
|
| - y = 17.3f;
|
| - raw_x = x + kRawOffsetX;
|
| - raw_y = y + kRawOffsetY;
|
| - TouchEvent press0 =
|
| - TouchWithPosition(ET_TOUCH_PRESSED, ids[0], x, y, raw_x, raw_y);
|
| - event.OnTouch(press0);
|
| -
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| - EXPECT_FLOAT_EQ(x, event.GetX(0));
|
| - EXPECT_FLOAT_EQ(y, event.GetY(0));
|
| - EXPECT_FLOAT_EQ(raw_x, event.GetRawX(0));
|
| - EXPECT_FLOAT_EQ(raw_y, event.GetRawY(0));
|
| -
|
| - x = 17.8f;
|
| - y = 12.1f;
|
| - raw_x = x + kRawOffsetX;
|
| - raw_y = y + kRawOffsetY;
|
| - TouchEvent press1 =
|
| - TouchWithPosition(ET_TOUCH_PRESSED, ids[1], x, y, raw_x, raw_y);
|
| - event.OnTouch(press1);
|
| -
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| - EXPECT_FLOAT_EQ(x, event.GetX(1));
|
| - EXPECT_FLOAT_EQ(y, event.GetY(1));
|
| - EXPECT_FLOAT_EQ(raw_x, event.GetRawX(1));
|
| - EXPECT_FLOAT_EQ(raw_y, event.GetRawY(1));
|
| -
|
| - // Test cloning of pointer location information.
|
| - scoped_ptr<MotionEvent> clone = event.Clone();
|
| - {
|
| - const MotionEventAura* raw_clone_aura =
|
| - static_cast<MotionEventAura*>(clone.get());
|
| - EXPECT_EQ(2U, raw_clone_aura->GetPointerCount());
|
| - EXPECT_FLOAT_EQ(x, raw_clone_aura->GetX(1));
|
| - EXPECT_FLOAT_EQ(y, raw_clone_aura->GetY(1));
|
| - EXPECT_FLOAT_EQ(raw_x, raw_clone_aura->GetRawX(1));
|
| - EXPECT_FLOAT_EQ(raw_y, raw_clone_aura->GetRawY(1));
|
| - }
|
| -
|
| - x = 27.9f;
|
| - y = 22.3f;
|
| - raw_x = x + kRawOffsetX;
|
| - raw_y = y + kRawOffsetY;
|
| - TouchEvent move1 =
|
| - TouchWithPosition(ET_TOUCH_MOVED, ids[1], x, y, raw_x, raw_y);
|
| - event.OnTouch(move1);
|
| -
|
| - EXPECT_FLOAT_EQ(x, event.GetX(1));
|
| - EXPECT_FLOAT_EQ(y, event.GetY(1));
|
| - EXPECT_FLOAT_EQ(raw_x, event.GetRawX(1));
|
| - EXPECT_FLOAT_EQ(raw_y, event.GetRawY(1));
|
| -
|
| - x = 34.6f;
|
| - y = 23.8f;
|
| - raw_x = x + kRawOffsetX;
|
| - raw_y = y + kRawOffsetY;
|
| - TouchEvent move0 =
|
| - TouchWithPosition(ET_TOUCH_MOVED, ids[0], x, y, raw_x, raw_y);
|
| - event.OnTouch(move0);
|
| -
|
| - EXPECT_FLOAT_EQ(x, event.GetX(0));
|
| - EXPECT_FLOAT_EQ(y, event.GetY(0));
|
| - EXPECT_FLOAT_EQ(raw_x, event.GetRawX(0));
|
| - EXPECT_FLOAT_EQ(raw_y, event.GetRawY(0));
|
| -}
|
| -
|
| -TEST(MotionEventAuraTest, TapParams) {
|
| - // Test that touch params are stored correctly.
|
| - MotionEventAura event;
|
| -
|
| - int ids[] = {15, 13};
|
| -
|
| - float radius_x;
|
| - float radius_y;
|
| - float rotation_angle;
|
| - float pressure;
|
| -
|
| - radius_x = 123.45f;
|
| - radius_y = 67.89f;
|
| - rotation_angle = 23.f;
|
| - pressure = 0.123f;
|
| - TouchEvent press0 = TouchWithTapParams(
|
| - ET_TOUCH_PRESSED, ids[0], radius_x, radius_y, rotation_angle, pressure);
|
| - event.OnTouch(press0);
|
| -
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| - EXPECT_FLOAT_EQ(radius_x, event.GetTouchMajor(0) / 2);
|
| - EXPECT_FLOAT_EQ(radius_y, event.GetTouchMinor(0) / 2);
|
| - EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(0) * 180 / M_PI + 90);
|
| - EXPECT_FLOAT_EQ(pressure, event.GetPressure(0));
|
| -
|
| - radius_x = 67.89f;
|
| - radius_y = 123.45f;
|
| - rotation_angle = 46.f;
|
| - pressure = 0.456f;
|
| - TouchEvent press1 = TouchWithTapParams(
|
| - ET_TOUCH_PRESSED, ids[1], radius_x, radius_y, rotation_angle, pressure);
|
| - event.OnTouch(press1);
|
| -
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| - EXPECT_FLOAT_EQ(radius_y, event.GetTouchMajor(1) / 2);
|
| - EXPECT_FLOAT_EQ(radius_x, event.GetTouchMinor(1) / 2);
|
| - EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(1) * 180 / M_PI);
|
| - EXPECT_FLOAT_EQ(pressure, event.GetPressure(1));
|
| -
|
| - // Test cloning of tap params
|
| - scoped_ptr<MotionEvent> clone = event.Clone();
|
| - {
|
| - const MotionEventAura* raw_clone_aura =
|
| - static_cast<MotionEventAura*>(clone.get());
|
| - EXPECT_EQ(2U, raw_clone_aura->GetPointerCount());
|
| - EXPECT_FLOAT_EQ(radius_y, raw_clone_aura->GetTouchMajor(1) / 2);
|
| - EXPECT_FLOAT_EQ(radius_x, raw_clone_aura->GetTouchMinor(1) / 2);
|
| - EXPECT_FLOAT_EQ(
|
| - rotation_angle, raw_clone_aura->GetOrientation(1) * 180 / M_PI);
|
| - EXPECT_FLOAT_EQ(pressure, raw_clone_aura->GetPressure(1));
|
| - }
|
| -
|
| - radius_x = 76.98f;
|
| - radius_y = 321.54f;
|
| - rotation_angle = 64.f;
|
| - pressure = 0.654f;
|
| - TouchEvent move1 = TouchWithTapParams(
|
| - ET_TOUCH_MOVED, ids[1], radius_x, radius_y, rotation_angle, pressure);
|
| - event.OnTouch(move1);
|
| -
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| - EXPECT_FLOAT_EQ(radius_y, event.GetTouchMajor(1) / 2);
|
| - EXPECT_FLOAT_EQ(radius_x, event.GetTouchMinor(1) / 2);
|
| - EXPECT_FLOAT_EQ(rotation_angle, event.GetOrientation(1) * 180 / M_PI);
|
| - EXPECT_FLOAT_EQ(pressure, event.GetPressure(1));
|
| -}
|
| -
|
| -TEST(MotionEventAuraTest, Timestamps) {
|
| - // Test that timestamp information is stored and converted correctly.
|
| - MotionEventAura event;
|
| - int ids[] = {7, 13};
|
| - int times_in_ms[] = {59436, 60263, 82175};
|
| -
|
| - TouchEvent press0 = TouchWithTime(
|
| - ui::ET_TOUCH_PRESSED, ids[0], times_in_ms[0]);
|
| - event.OnTouch(press0);
|
| - EXPECT_EQ(MsToTicks(times_in_ms[0]), event.GetEventTime());
|
| -
|
| - TouchEvent press1 = TouchWithTime(
|
| - ui::ET_TOUCH_PRESSED, ids[1], times_in_ms[1]);
|
| - event.OnTouch(press1);
|
| - EXPECT_EQ(MsToTicks(times_in_ms[1]), event.GetEventTime());
|
| -
|
| - TouchEvent move0 = TouchWithTime(
|
| - ui::ET_TOUCH_MOVED, ids[0], times_in_ms[2]);
|
| - event.OnTouch(move0);
|
| - EXPECT_EQ(MsToTicks(times_in_ms[2]), event.GetEventTime());
|
| -
|
| - // Test cloning of timestamp information.
|
| - scoped_ptr<MotionEvent> clone = event.Clone();
|
| - EXPECT_EQ(MsToTicks(times_in_ms[2]), clone->GetEventTime());
|
| -}
|
| -
|
| -TEST(MotionEventAuraTest, CachedAction) {
|
| - // Test that the cached action and cached action index are correct.
|
| - int ids[] = {4, 6};
|
| - MotionEventAura event;
|
| -
|
| - TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
|
| - event.OnTouch(press0);
|
| - EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction());
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| -
|
| - TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
|
| - event.OnTouch(press1);
|
| - EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction());
|
| - EXPECT_EQ(1, event.GetActionIndex());
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| -
|
| - // Test cloning of CachedAction information.
|
| - scoped_ptr<MotionEvent> clone = event.Clone();
|
| - EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, clone->GetAction());
|
| - EXPECT_EQ(1, clone->GetActionIndex());
|
| -
|
| - TouchEvent move0 = TouchWithType(ET_TOUCH_MOVED, ids[0]);
|
| - event.OnTouch(move0);
|
| - EXPECT_EQ(MotionEvent::ACTION_MOVE, event.GetAction());
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| -
|
| - TouchEvent release0 = TouchWithType(ET_TOUCH_RELEASED, ids[0]);
|
| - event.OnTouch(release0);
|
| - EXPECT_EQ(MotionEvent::ACTION_POINTER_UP, event.GetAction());
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| - event.CleanupRemovedTouchPoints(release0);
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| -
|
| - TouchEvent release1 = TouchWithType(ET_TOUCH_RELEASED, ids[1]);
|
| - event.OnTouch(release1);
|
| - EXPECT_EQ(MotionEvent::ACTION_UP, event.GetAction());
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| - event.CleanupRemovedTouchPoints(release1);
|
| - EXPECT_EQ(0U, event.GetPointerCount());
|
| -}
|
| -
|
| -TEST(MotionEventAuraTest, Cancel) {
|
| - int ids[] = {4, 6};
|
| - MotionEventAura event;
|
| -
|
| - TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
|
| - event.OnTouch(press0);
|
| - EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction());
|
| - EXPECT_EQ(1U, event.GetPointerCount());
|
| -
|
| - TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
|
| - event.OnTouch(press1);
|
| - EXPECT_EQ(MotionEvent::ACTION_POINTER_DOWN, event.GetAction());
|
| - EXPECT_EQ(1, event.GetActionIndex());
|
| - EXPECT_EQ(2U, event.GetPointerCount());
|
| -
|
| - scoped_ptr<MotionEvent> cancel = event.Cancel();
|
| - EXPECT_EQ(MotionEvent::ACTION_CANCEL, cancel->GetAction());
|
| - EXPECT_EQ(2U, static_cast<MotionEventAura*>(cancel.get())->GetPointerCount());
|
| -}
|
| -
|
| -TEST(MotionEventAuraTest, ToolType) {
|
| - MotionEventAura event;
|
| -
|
| - // For now, all pointers have an unknown tool type.
|
| - // TODO(jdduke): Expand this test when ui::TouchEvent identifies the source
|
| - // touch type, crbug.com/404128.
|
| - event.OnTouch(TouchWithType(ET_TOUCH_PRESSED, 7));
|
| - ASSERT_EQ(1U, event.GetPointerCount());
|
| - EXPECT_EQ(MotionEvent::TOOL_TYPE_UNKNOWN, event.GetToolType(0));
|
| -}
|
| -
|
| -TEST(MotionEventAuraTest, Flags) {
|
| - int ids[] = {7, 11};
|
| - MotionEventAura event;
|
| -
|
| - TouchEvent press0 = TouchWithType(ET_TOUCH_PRESSED, ids[0]);
|
| - press0.set_flags(EF_CONTROL_DOWN);
|
| - event.OnTouch(press0);
|
| - EXPECT_EQ(EF_CONTROL_DOWN, event.GetFlags());
|
| -
|
| - TouchEvent press1 = TouchWithType(ET_TOUCH_PRESSED, ids[1]);
|
| - press1.set_flags(EF_CONTROL_DOWN | EF_CAPS_LOCK_DOWN);
|
| - event.OnTouch(press1);
|
| - EXPECT_EQ(EF_CONTROL_DOWN | EF_CAPS_LOCK_DOWN, event.GetFlags());
|
| -}
|
| -
|
| -} // namespace ui
|
|
|