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 "content/common/input/gesture_event_stream_validator.h" | 5 #include "content/common/input/gesture_event_stream_validator.h" |
6 | 6 |
7 #include "content/common/input/synthetic_web_input_event_builders.h" | 7 #include "content/common/input/synthetic_web_input_event_builders.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 | 9 |
10 using blink::WebInputEvent; | 10 using blink::WebInputEvent; |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 | 158 |
159 TEST(GestureEventStreamValidator, ValidTap) { | 159 TEST(GestureEventStreamValidator, ValidTap) { |
160 GestureEventStreamValidator validator; | 160 GestureEventStreamValidator validator; |
161 std::string error_msg; | 161 std::string error_msg; |
162 WebGestureEvent event; | 162 WebGestureEvent event; |
163 | 163 |
164 event = Build(WebInputEvent::GestureTapDown); | 164 event = Build(WebInputEvent::GestureTapDown); |
165 EXPECT_TRUE(validator.Validate(event, &error_msg)); | 165 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
166 EXPECT_TRUE(error_msg.empty()); | 166 EXPECT_TRUE(error_msg.empty()); |
167 | 167 |
168 event = Build(WebInputEvent::GestureTap); | 168 event = Build(WebInputEvent::GestureTapCancel); |
169 EXPECT_TRUE(validator.Validate(event, &error_msg)); | 169 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
170 EXPECT_TRUE(error_msg.empty()); | 170 EXPECT_TRUE(error_msg.empty()); |
171 | 171 |
172 event = Build(WebInputEvent::GestureTapDown); | 172 event = Build(WebInputEvent::GestureTapDown); |
173 EXPECT_TRUE(validator.Validate(event, &error_msg)); | 173 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
174 EXPECT_TRUE(error_msg.empty()); | 174 EXPECT_TRUE(error_msg.empty()); |
175 | 175 |
| 176 event = Build(WebInputEvent::GestureTapUnconfirmed); |
| 177 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
| 178 EXPECT_TRUE(error_msg.empty()); |
| 179 |
176 event = Build(WebInputEvent::GestureTapCancel); | 180 event = Build(WebInputEvent::GestureTapCancel); |
177 EXPECT_TRUE(validator.Validate(event, &error_msg)); | 181 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
178 EXPECT_TRUE(error_msg.empty()); | 182 EXPECT_TRUE(error_msg.empty()); |
179 | 183 |
180 // DoubleTap doesn't require a TapDown (unlike Tap and TapCancel). | 184 // Tap and DoubleTap do not require a TapDown (unlike TapUnconfirmed and |
| 185 // TapCancel). |
| 186 event = Build(WebInputEvent::GestureTap); |
| 187 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
| 188 EXPECT_TRUE(error_msg.empty()); |
| 189 |
181 event = Build(WebInputEvent::GestureDoubleTap); | 190 event = Build(WebInputEvent::GestureDoubleTap); |
182 EXPECT_TRUE(validator.Validate(event, &error_msg)); | 191 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
183 EXPECT_TRUE(error_msg.empty()); | 192 EXPECT_TRUE(error_msg.empty()); |
184 } | 193 } |
185 | 194 |
186 TEST(GestureEventStreamValidator, InvalidTap) { | 195 TEST(GestureEventStreamValidator, InvalidTap) { |
187 GestureEventStreamValidator validator; | 196 GestureEventStreamValidator validator; |
188 std::string error_msg; | 197 std::string error_msg; |
189 WebGestureEvent event; | 198 WebGestureEvent event; |
190 | 199 |
191 // No preceding TapDown. | 200 // No preceding TapDown. |
192 event = Build(WebInputEvent::GestureTap); | 201 event = Build(WebInputEvent::GestureTapUnconfirmed); |
193 EXPECT_FALSE(validator.Validate(event, &error_msg)); | 202 EXPECT_FALSE(validator.Validate(event, &error_msg)); |
194 EXPECT_FALSE(error_msg.empty()); | 203 EXPECT_FALSE(error_msg.empty()); |
195 | 204 |
196 event = Build(WebInputEvent::GestureTapCancel); | 205 event = Build(WebInputEvent::GestureTapCancel); |
197 EXPECT_FALSE(validator.Validate(event, &error_msg)); | 206 EXPECT_FALSE(validator.Validate(event, &error_msg)); |
198 EXPECT_FALSE(error_msg.empty()); | 207 EXPECT_FALSE(error_msg.empty()); |
199 | 208 |
200 // TapDown already terminated. | 209 // TapDown already terminated. |
201 event = Build(WebInputEvent::GestureTapDown); | 210 event = Build(WebInputEvent::GestureTapDown); |
202 EXPECT_TRUE(validator.Validate(event, &error_msg)); | 211 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
203 EXPECT_TRUE(error_msg.empty()); | 212 EXPECT_TRUE(error_msg.empty()); |
204 | 213 |
205 event = Build(WebInputEvent::GestureDoubleTap); | 214 event = Build(WebInputEvent::GestureDoubleTap); |
206 EXPECT_TRUE(validator.Validate(event, &error_msg)); | 215 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
207 EXPECT_TRUE(error_msg.empty()); | 216 EXPECT_TRUE(error_msg.empty()); |
208 | 217 |
209 event = Build(WebInputEvent::GestureTapCancel); | 218 event = Build(WebInputEvent::GestureTapCancel); |
210 EXPECT_FALSE(validator.Validate(event, &error_msg)); | 219 EXPECT_FALSE(validator.Validate(event, &error_msg)); |
211 EXPECT_FALSE(error_msg.empty()); | 220 EXPECT_FALSE(error_msg.empty()); |
| 221 |
| 222 // TapDown already terminated. |
| 223 event = Build(WebInputEvent::GestureTapDown); |
| 224 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
| 225 EXPECT_TRUE(error_msg.empty()); |
| 226 |
| 227 event = Build(WebInputEvent::GestureTap); |
| 228 EXPECT_TRUE(validator.Validate(event, &error_msg)); |
| 229 EXPECT_TRUE(error_msg.empty()); |
| 230 |
| 231 event = Build(WebInputEvent::GestureTapCancel); |
| 232 EXPECT_FALSE(validator.Validate(event, &error_msg)); |
| 233 EXPECT_FALSE(error_msg.empty()); |
212 } | 234 } |
213 | 235 |
214 } // namespace content | 236 } // namespace content |
OLD | NEW |