OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/android/jni_android.h" | 5 #include "base/android/jni_android.h" |
6 #include "content/browser/renderer_host/input/motion_event_android.h" | 6 #include "content/browser/renderer_host/input/motion_event_android.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 using ui::MotionEvent; | 9 using ui::MotionEvent; |
10 | 10 |
(...skipping 13 matching lines...) Expand all Loading... | |
24 // Corresponds to BUTTON_PRIMARY, see | 24 // Corresponds to BUTTON_PRIMARY, see |
25 // developer.android.com/reference/android/view/MotionEvent.html#BUTTON_PRIMARY. | 25 // developer.android.com/reference/android/view/MotionEvent.html#BUTTON_PRIMARY. |
26 int kAndroidButtonPrimary = 1; | 26 int kAndroidButtonPrimary = 1; |
27 | 27 |
28 } // namespace | 28 } // namespace |
29 | 29 |
30 TEST(MotionEventAndroidTest, Constructor) { | 30 TEST(MotionEventAndroidTest, Constructor) { |
31 int event_time_ms = 5; | 31 int event_time_ms = 5; |
32 base::TimeTicks event_time = | 32 base::TimeTicks event_time = |
33 base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms); | 33 base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms); |
34 float x0 = 13.7; | 34 float x0 = 13.7f; |
35 float y0 = -7.13; | 35 float y0 = -7.13f; |
36 float x1 = -13.7; | 36 float x1 = -13.7f; |
37 float y1 = 7.13; | 37 float y1 = 7.13f; |
38 float raw_offset = 10.1f; | 38 float raw_offset = 10.1f; |
39 float touch_major0 = 5.3f; | 39 float touch_major0 = 5.3f; |
40 float touch_major1 = 3.5f; | 40 float touch_major1 = 3.5f; |
41 float touch_minor0 = 1.2f; | |
42 float touch_minor1 = 2.1f; | |
43 float orientation0 = 0.1f; | |
44 float orientation1 = -0.1f; | |
jdduke (slow)
2014/08/28 15:31:57
Might as well make this std::numeric_limits<float>
mustaq
2014/08/28 21:56:02
Done.
| |
41 int p0 = 1; | 45 int p0 = 1; |
42 int p1 = 2; | 46 int p1 = 2; |
43 int pointer_count = 2; | 47 int pointer_count = 2; |
44 int history_size = 0; | 48 int history_size = 0; |
45 int action_index = -1; | 49 int action_index = -1; |
46 base::android::ScopedJavaLocalRef<jobject> base_event_obj = | 50 base::android::ScopedJavaLocalRef<jobject> base_event_obj = |
47 MotionEventAndroid::Obtain( | 51 MotionEventAndroid::Obtain( |
48 event_time, event_time, MotionEvent::ACTION_DOWN, x0, y0); | 52 event_time, event_time, MotionEvent::ACTION_DOWN, x0, y0); |
49 ASSERT_TRUE(base_event_obj.obj()); | 53 ASSERT_TRUE(base_event_obj.obj()); |
50 | 54 |
51 MotionEventAndroid event(kPixToDip, | 55 MotionEventAndroid event(kPixToDip, |
52 base::android::AttachCurrentThread(), | 56 base::android::AttachCurrentThread(), |
53 base_event_obj.obj(), | 57 base_event_obj.obj(), |
54 event_time_ms, | 58 event_time_ms, |
55 kAndroidActionDown, | 59 kAndroidActionDown, |
56 pointer_count, | 60 pointer_count, |
57 history_size, | 61 history_size, |
58 action_index, | 62 action_index, |
59 x0, | 63 x0, |
60 y0, | 64 y0, |
61 x1, | 65 x1, |
62 y1, | 66 y1, |
63 p0, | 67 p0, |
64 p1, | 68 p1, |
65 touch_major0, | 69 touch_major0, |
66 touch_major1, | 70 touch_major1, |
71 touch_minor0, | |
72 touch_minor1, | |
73 orientation0, | |
74 orientation1, | |
67 x0 + raw_offset, | 75 x0 + raw_offset, |
68 y0 - raw_offset, | 76 y0 - raw_offset, |
69 kAndroidToolTypeFinger, | 77 kAndroidToolTypeFinger, |
70 kAndroidToolTypeFinger, | 78 kAndroidToolTypeFinger, |
71 kAndroidButtonPrimary); | 79 kAndroidButtonPrimary); |
72 | 80 |
73 EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction()); | 81 EXPECT_EQ(MotionEvent::ACTION_DOWN, event.GetAction()); |
74 EXPECT_EQ(event_time, event.GetEventTime()); | 82 EXPECT_EQ(event_time, event.GetEventTime()); |
75 EXPECT_EQ(x0 * kPixToDip, event.GetX(0)); | 83 EXPECT_EQ(x0 * kPixToDip, event.GetX(0)); |
76 EXPECT_EQ(y0 * kPixToDip, event.GetY(0)); | 84 EXPECT_EQ(y0 * kPixToDip, event.GetY(0)); |
77 EXPECT_EQ(x1 * kPixToDip, event.GetX(1)); | 85 EXPECT_EQ(x1 * kPixToDip, event.GetX(1)); |
78 EXPECT_EQ(y1 * kPixToDip, event.GetY(1)); | 86 EXPECT_EQ(y1 * kPixToDip, event.GetY(1)); |
79 EXPECT_FLOAT_EQ((x0 + raw_offset) * kPixToDip, event.GetRawX(0)); | 87 EXPECT_FLOAT_EQ((x0 + raw_offset) * kPixToDip, event.GetRawX(0)); |
80 EXPECT_FLOAT_EQ((y0 - raw_offset) * kPixToDip, event.GetRawY(0)); | 88 EXPECT_FLOAT_EQ((y0 - raw_offset) * kPixToDip, event.GetRawY(0)); |
81 EXPECT_FLOAT_EQ((x1 + raw_offset) * kPixToDip, event.GetRawX(1)); | 89 EXPECT_FLOAT_EQ((x1 + raw_offset) * kPixToDip, event.GetRawX(1)); |
82 EXPECT_FLOAT_EQ((y1 - raw_offset) * kPixToDip, event.GetRawY(1)); | 90 EXPECT_FLOAT_EQ((y1 - raw_offset) * kPixToDip, event.GetRawY(1)); |
83 EXPECT_EQ(touch_major0 * kPixToDip, event.GetTouchMajor(0)); | 91 EXPECT_EQ(touch_major0 * kPixToDip, event.GetTouchMajor(0)); |
84 EXPECT_EQ(touch_major1 * kPixToDip, event.GetTouchMajor(1)); | 92 EXPECT_EQ(touch_major1 * kPixToDip, event.GetTouchMajor(1)); |
93 EXPECT_EQ(touch_minor0 * kPixToDip, event.GetTouchMinor(0)); | |
94 EXPECT_EQ(touch_minor1 * kPixToDip, event.GetTouchMinor(1)); | |
95 EXPECT_EQ(orientation0, event.GetOrientation(0)); | |
96 EXPECT_EQ(orientation1, event.GetOrientation(1)); | |
85 EXPECT_EQ(p0, event.GetPointerId(0)); | 97 EXPECT_EQ(p0, event.GetPointerId(0)); |
86 EXPECT_EQ(p1, event.GetPointerId(1)); | 98 EXPECT_EQ(p1, event.GetPointerId(1)); |
87 EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(0)); | 99 EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(0)); |
88 EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(1)); | 100 EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(1)); |
89 EXPECT_EQ(MotionEvent::BUTTON_PRIMARY, event.GetButtonState()); | 101 EXPECT_EQ(MotionEvent::BUTTON_PRIMARY, event.GetButtonState()); |
90 EXPECT_EQ(static_cast<size_t>(pointer_count), event.GetPointerCount()); | 102 EXPECT_EQ(static_cast<size_t>(pointer_count), event.GetPointerCount()); |
91 EXPECT_EQ(static_cast<size_t>(history_size), event.GetHistorySize()); | 103 EXPECT_EQ(static_cast<size_t>(history_size), event.GetHistorySize()); |
92 EXPECT_EQ(action_index, event.GetActionIndex()); | 104 EXPECT_EQ(action_index, event.GetActionIndex()); |
93 } | 105 } |
94 | 106 |
95 TEST(MotionEventAndroidTest, Clone) { | 107 TEST(MotionEventAndroidTest, Clone) { |
96 int event_time_ms = 5; | 108 int event_time_ms = 5; |
97 base::TimeTicks event_time = | 109 base::TimeTicks event_time = |
98 base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms); | 110 base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms); |
99 float x = 13.7; | 111 float x = 13.7f; |
100 float y = -7.13; | 112 float y = -7.13f; |
101 float touch_major = 5.3f; | 113 float touch_major = 5.3f; |
114 float touch_minor = 3.5f; | |
115 float orientation = 0.2f; | |
102 int pointer_count = 1; | 116 int pointer_count = 1; |
103 int pointer_id = 1; | 117 int pointer_id = 1; |
104 base::android::ScopedJavaLocalRef<jobject> event_obj = | 118 base::android::ScopedJavaLocalRef<jobject> event_obj = |
105 MotionEventAndroid::Obtain( | 119 MotionEventAndroid::Obtain( |
106 event_time, event_time, MotionEvent::ACTION_DOWN, x, y); | 120 event_time, event_time, MotionEvent::ACTION_DOWN, x, y); |
107 ASSERT_TRUE(event_obj.obj()); | 121 ASSERT_TRUE(event_obj.obj()); |
108 | 122 |
109 MotionEventAndroid event(kPixToDip, | 123 MotionEventAndroid event(kPixToDip, |
110 base::android::AttachCurrentThread(), | 124 base::android::AttachCurrentThread(), |
111 event_obj.obj(), | 125 event_obj.obj(), |
112 event_time_ms, | 126 event_time_ms, |
113 kAndroidActionDown, | 127 kAndroidActionDown, |
114 pointer_count, | 128 pointer_count, |
115 0, | 129 0, |
116 0, | 130 0, |
117 x, | 131 x, |
118 y, | 132 y, |
119 0, | 133 0, |
120 0, | 134 0, |
121 pointer_id, | 135 pointer_id, |
122 0, | 136 0, |
123 touch_major, | 137 touch_major, |
124 0.f, | 138 0.f, |
139 touch_minor, | |
140 0.f, | |
141 orientation, | |
142 0.f, | |
125 x, | 143 x, |
126 y, | 144 y, |
127 0, | 145 0, |
128 0, | 146 0, |
129 0); | 147 0); |
130 | 148 |
131 scoped_ptr<MotionEvent> clone = event.Clone(); | 149 scoped_ptr<MotionEvent> clone = event.Clone(); |
132 EXPECT_EQ(event, *clone); | 150 EXPECT_EQ(event, *clone); |
133 } | 151 } |
134 | 152 |
135 TEST(MotionEventAndroidTest, Cancel) { | 153 TEST(MotionEventAndroidTest, Cancel) { |
136 int event_time_ms = 5; | 154 int event_time_ms = 5; |
137 base::TimeTicks event_time = | 155 base::TimeTicks event_time = |
138 base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms); | 156 base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms); |
139 int pointer_count = 1; | 157 int pointer_count = 1; |
140 float x = 13.7; | 158 float x = 13.7f; |
141 float y = -7.13; | 159 float y = -7.13f; |
142 base::android::ScopedJavaLocalRef<jobject> event_obj = | 160 base::android::ScopedJavaLocalRef<jobject> event_obj = |
143 MotionEventAndroid::Obtain( | 161 MotionEventAndroid::Obtain( |
144 event_time, event_time, MotionEvent::ACTION_DOWN, x, y); | 162 event_time, event_time, MotionEvent::ACTION_DOWN, x, y); |
145 ASSERT_TRUE(event_obj.obj()); | 163 ASSERT_TRUE(event_obj.obj()); |
146 | 164 |
147 MotionEventAndroid event(kPixToDip, | 165 MotionEventAndroid event(kPixToDip, |
148 base::android::AttachCurrentThread(), | 166 base::android::AttachCurrentThread(), |
149 event_obj.obj(), | 167 event_obj.obj(), |
150 event_time_ms, | 168 event_time_ms, |
151 kAndroidActionDown, | 169 kAndroidActionDown, |
152 pointer_count, | 170 pointer_count, |
153 0, | 171 0, |
154 0, | 172 0, |
155 x, | 173 x, |
156 y, | 174 y, |
157 0, | 175 0, |
158 0, | 176 0, |
159 0, | 177 0, |
160 0, | 178 0, |
161 0.f, | 179 0.f, |
162 0.f, | 180 0.f, |
181 0.f, | |
182 0.f, | |
183 0.f, | |
184 0.f, | |
163 x, | 185 x, |
164 y, | 186 y, |
165 0, | 187 0, |
166 0, | 188 0, |
167 0); | 189 0); |
168 | 190 |
169 scoped_ptr<MotionEvent> cancel_event = event.Cancel(); | 191 scoped_ptr<MotionEvent> cancel_event = event.Cancel(); |
170 EXPECT_EQ(MotionEvent::ACTION_CANCEL, cancel_event->GetAction()); | 192 EXPECT_EQ(MotionEvent::ACTION_CANCEL, cancel_event->GetAction()); |
171 EXPECT_EQ(event_time, cancel_event->GetEventTime()); | 193 EXPECT_EQ(event_time, cancel_event->GetEventTime()); |
172 EXPECT_EQ(x * kPixToDip, cancel_event->GetX(0)); | 194 EXPECT_EQ(x * kPixToDip, cancel_event->GetX(0)); |
173 EXPECT_EQ(y * kPixToDip, cancel_event->GetY(0)); | 195 EXPECT_EQ(y * kPixToDip, cancel_event->GetY(0)); |
174 EXPECT_EQ(static_cast<size_t>(pointer_count), | 196 EXPECT_EQ(static_cast<size_t>(pointer_count), |
175 cancel_event->GetPointerCount()); | 197 cancel_event->GetPointerCount()); |
176 EXPECT_EQ(0U, cancel_event->GetHistorySize()); | 198 EXPECT_EQ(0U, cancel_event->GetHistorySize()); |
177 } | 199 } |
178 | 200 |
179 } // namespace content | 201 } // namespace content |
OLD | NEW |