Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(682)

Side by Side Diff: ui/events/event_dispatcher_unittest.cc

Issue 1260453006: ui: events: Add a class to hold common touch and stylus properties (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address build problems, add accessor and unit tests. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 "ui/events/event_dispatcher.h" 5 #include "ui/events/event_dispatcher.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "ui/events/event.h" 8 #include "ui/events/event.h"
9 #include "ui/events/event_dispatcher.h" 9 #include "ui/events/event_dispatcher.h"
10 #include "ui/events/event_target.h" 10 #include "ui/events/event_target.h"
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 child.AddPostTargetHandler(&h6); 229 child.AddPostTargetHandler(&h6);
230 230
231 parent.AddPostTargetHandler(&h7); 231 parent.AddPostTargetHandler(&h7);
232 parent.AddPostTargetHandler(&h8); 232 parent.AddPostTargetHandler(&h8);
233 233
234 h5.set_expect_post_target(true); 234 h5.set_expect_post_target(true);
235 h6.set_expect_post_target(true); 235 h6.set_expect_post_target(true);
236 h7.set_expect_post_target(true); 236 h7.set_expect_post_target(true);
237 h8.set_expect_post_target(true); 237 h8.set_expect_post_target(true);
238 238
239 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 239 MouseEvent mouse(
240 ui::EventTimeForNow(), 0, 0); 240 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
241 ui::EventTimeForNow(), 0, 0,
242 ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
241 Event::DispatcherApi event_mod(&mouse); 243 Event::DispatcherApi event_mod(&mouse);
242 dispatcher.ProcessEvent(&child, &mouse); 244 dispatcher.ProcessEvent(&child, &mouse);
243 EXPECT_FALSE(mouse.stopped_propagation()); 245 EXPECT_FALSE(mouse.stopped_propagation());
244 EXPECT_FALSE(mouse.handled()); 246 EXPECT_FALSE(mouse.handled());
245 247
246 { 248 {
247 int expected[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; 249 int expected[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
248 EXPECT_EQ( 250 EXPECT_EQ(
249 std::vector<int>(expected, expected + sizeof(expected) / sizeof(int)), 251 std::vector<int>(expected, expected + sizeof(expected) / sizeof(int)),
250 child.handler_list()); 252 child.handler_list());
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 TestEventDispatcher dispatcher; 305 TestEventDispatcher dispatcher;
304 TestTarget target; 306 TestTarget target;
305 307
306 TestEventHandler handler(11); 308 TestEventHandler handler(11);
307 309
308 target.AddPreTargetHandler(&handler); 310 target.AddPreTargetHandler(&handler);
309 target.AddPostTargetHandler(&handler); 311 target.AddPostTargetHandler(&handler);
310 handler.set_expect_pre_target(true); 312 handler.set_expect_pre_target(true);
311 handler.set_expect_post_target(true); 313 handler.set_expect_post_target(true);
312 314
313 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 315 MouseEvent mouse(
314 ui::EventTimeForNow(), 0, 0); 316 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
317 ui::EventTimeForNow(), 0, 0,
318 ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
315 Event::DispatcherApi event_mod(&mouse); 319 Event::DispatcherApi event_mod(&mouse);
316 dispatcher.ProcessEvent(&target, &mouse); 320 dispatcher.ProcessEvent(&target, &mouse);
317 EXPECT_EQ(ER_UNHANDLED, mouse.result()); 321 EXPECT_EQ(ER_UNHANDLED, mouse.result());
318 322
319 int handlers[] = { 11, 11 }; 323 int handlers[] = { 11, 11 };
320 EXPECT_EQ( 324 EXPECT_EQ(
321 std::vector<int>(handlers, handlers + sizeof(handlers) / sizeof(int)), 325 std::vector<int>(handlers, handlers + sizeof(handlers) / sizeof(int)),
322 target.handler_list()); 326 target.handler_list());
323 } 327 }
324 328
(...skipping 10 matching lines...) Expand all
335 target.AddPreTargetHandler(&h1); 339 target.AddPreTargetHandler(&h1);
336 target.AddPreTargetHandler(&handler); 340 target.AddPreTargetHandler(&handler);
337 target.AddPreTargetHandler(&h2); 341 target.AddPreTargetHandler(&h2);
338 342
339 h1.set_expect_pre_target(true); 343 h1.set_expect_pre_target(true);
340 handler.set_expect_pre_target(true); 344 handler.set_expect_pre_target(true);
341 // |h2| should not receive any events at all since |handler| will have 345 // |h2| should not receive any events at all since |handler| will have
342 // destroyed the dispatcher. 346 // destroyed the dispatcher.
343 h2.set_expect_pre_target(false); 347 h2.set_expect_pre_target(false);
344 348
345 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 349 MouseEvent mouse(
346 ui::EventTimeForNow(), 0, 0); 350 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
351 ui::EventTimeForNow(), 0, 0,
352 ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
347 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse); 353 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse);
348 EXPECT_TRUE(details.dispatcher_destroyed); 354 EXPECT_TRUE(details.dispatcher_destroyed);
349 EXPECT_EQ(ER_CONSUMED, mouse.result()); 355 EXPECT_EQ(ER_CONSUMED, mouse.result());
350 EXPECT_EQ(2U, target.handler_list().size()); 356 EXPECT_EQ(2U, target.handler_list().size());
351 EXPECT_EQ(1, target.handler_list()[0]); 357 EXPECT_EQ(1, target.handler_list()[0]);
352 EXPECT_EQ(5, target.handler_list()[1]); 358 EXPECT_EQ(5, target.handler_list()[1]);
353 } 359 }
354 360
355 // Test for non-cancelable event. 361 // Test for non-cancelable event.
356 { 362 {
(...skipping 30 matching lines...) Expand all
387 target.AddPostTargetHandler(&h1); 393 target.AddPostTargetHandler(&h1);
388 target.AddPostTargetHandler(&handler); 394 target.AddPostTargetHandler(&handler);
389 target.AddPostTargetHandler(&h2); 395 target.AddPostTargetHandler(&h2);
390 396
391 h1.set_expect_post_target(true); 397 h1.set_expect_post_target(true);
392 handler.set_expect_post_target(true); 398 handler.set_expect_post_target(true);
393 // |h2| should not receive any events at all since |handler| will have 399 // |h2| should not receive any events at all since |handler| will have
394 // destroyed the dispatcher. 400 // destroyed the dispatcher.
395 h2.set_expect_post_target(false); 401 h2.set_expect_post_target(false);
396 402
397 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 403 MouseEvent mouse(
398 ui::EventTimeForNow(), 0, 0); 404 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
405 ui::EventTimeForNow(), 0, 0,
406 ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
399 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse); 407 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse);
400 EXPECT_TRUE(details.dispatcher_destroyed); 408 EXPECT_TRUE(details.dispatcher_destroyed);
401 EXPECT_EQ(ER_CONSUMED, mouse.result()); 409 EXPECT_EQ(ER_CONSUMED, mouse.result());
402 EXPECT_EQ(2U, target.handler_list().size()); 410 EXPECT_EQ(2U, target.handler_list().size());
403 EXPECT_EQ(1, target.handler_list()[0]); 411 EXPECT_EQ(1, target.handler_list()[0]);
404 EXPECT_EQ(5, target.handler_list()[1]); 412 EXPECT_EQ(5, target.handler_list()[1]);
405 } 413 }
406 414
407 // Test for non-cancelable event. 415 // Test for non-cancelable event.
408 { 416 {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 449
442 target.AddPreTargetHandler(&h1); 450 target.AddPreTargetHandler(&h1);
443 target.AddPreTargetHandler(&invalidate_handler); 451 target.AddPreTargetHandler(&invalidate_handler);
444 target.AddPreTargetHandler(&h3); 452 target.AddPreTargetHandler(&h3);
445 453
446 h1.set_expect_pre_target(true); 454 h1.set_expect_pre_target(true);
447 invalidate_handler.set_expect_pre_target(true); 455 invalidate_handler.set_expect_pre_target(true);
448 // |h3| should not receive events as the target will be invalidated. 456 // |h3| should not receive events as the target will be invalidated.
449 h3.set_expect_pre_target(false); 457 h3.set_expect_pre_target(false);
450 458
451 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 459 MouseEvent mouse(
452 ui::EventTimeForNow(), 0, 0); 460 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
461 ui::EventTimeForNow(), 0, 0,
462 ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
453 EventDispatchDetails details = dispatcher.ProcessEvent(&target, &mouse); 463 EventDispatchDetails details = dispatcher.ProcessEvent(&target, &mouse);
454 EXPECT_FALSE(details.dispatcher_destroyed); 464 EXPECT_FALSE(details.dispatcher_destroyed);
455 EXPECT_TRUE(details.target_destroyed); 465 EXPECT_TRUE(details.target_destroyed);
456 EXPECT_FALSE(target.valid()); 466 EXPECT_FALSE(target.valid());
457 EXPECT_TRUE(mouse.stopped_propagation()); 467 EXPECT_TRUE(mouse.stopped_propagation());
458 EXPECT_EQ(2U, target.handler_list().size()); 468 EXPECT_EQ(2U, target.handler_list().size());
459 EXPECT_EQ(1, target.handler_list()[0]); 469 EXPECT_EQ(1, target.handler_list()[0]);
460 EXPECT_EQ(2, target.handler_list()[1]); 470 EXPECT_EQ(2, target.handler_list()[1]);
461 471
462 // Test for non-cancelable event. 472 // Test for non-cancelable event.
(...skipping 21 matching lines...) Expand all
484 target.AddPreTargetHandler(&h1); 494 target.AddPreTargetHandler(&h1);
485 target.AddPreTargetHandler(&handle_destroyer); 495 target.AddPreTargetHandler(&handle_destroyer);
486 target.AddPreTargetHandler(h3); 496 target.AddPreTargetHandler(h3);
487 497
488 h1.set_expect_pre_target(true); 498 h1.set_expect_pre_target(true);
489 handle_destroyer.set_expect_pre_target(true); 499 handle_destroyer.set_expect_pre_target(true);
490 // |h3| should not receive events since |handle_destroyer| will have 500 // |h3| should not receive events since |handle_destroyer| will have
491 // destroyed it. 501 // destroyed it.
492 h3->set_expect_pre_target(false); 502 h3->set_expect_pre_target(false);
493 503
494 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 504 MouseEvent mouse(
495 ui::EventTimeForNow(), 0, 0); 505 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
506 ui::EventTimeForNow(), 0, 0,
507 ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
496 EventDispatchDetails details = dispatcher.ProcessEvent(&target, &mouse); 508 EventDispatchDetails details = dispatcher.ProcessEvent(&target, &mouse);
497 EXPECT_FALSE(details.dispatcher_destroyed); 509 EXPECT_FALSE(details.dispatcher_destroyed);
498 EXPECT_FALSE(details.target_destroyed); 510 EXPECT_FALSE(details.target_destroyed);
499 EXPECT_FALSE(mouse.stopped_propagation()); 511 EXPECT_FALSE(mouse.stopped_propagation());
500 EXPECT_EQ(2U, target.handler_list().size()); 512 EXPECT_EQ(2U, target.handler_list().size());
501 EXPECT_EQ(1, target.handler_list()[0]); 513 EXPECT_EQ(1, target.handler_list()[0]);
502 EXPECT_EQ(2, target.handler_list()[1]); 514 EXPECT_EQ(2, target.handler_list()[1]);
503 } 515 }
504 516
505 // Test for non-cancelable events. 517 // Test for non-cancelable events.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 target.AddPreTargetHandler(&destroyer); 554 target.AddPreTargetHandler(&destroyer);
543 target.AddPreTargetHandler(h3); 555 target.AddPreTargetHandler(h3);
544 556
545 h1.set_expect_pre_target(true); 557 h1.set_expect_pre_target(true);
546 destroyer.set_expect_pre_target(true); 558 destroyer.set_expect_pre_target(true);
547 destroyer.set_dispatcher_delegate(dispatcher); 559 destroyer.set_dispatcher_delegate(dispatcher);
548 // |h3| should not receive events since |destroyer| will have destroyed 560 // |h3| should not receive events since |destroyer| will have destroyed
549 // it. 561 // it.
550 h3->set_expect_pre_target(false); 562 h3->set_expect_pre_target(false);
551 563
552 MouseEvent mouse(ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4), 564 MouseEvent mouse(
553 ui::EventTimeForNow(), 0, 0); 565 ui::ET_MOUSE_MOVED, gfx::Point(3, 4), gfx::Point(3, 4),
566 ui::EventTimeForNow(), 0, 0,
567 ui::PointerEventDetails(ui::EventPointerType::POINTER_TYPE_MOUSE));
554 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse); 568 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &mouse);
555 EXPECT_TRUE(details.dispatcher_destroyed); 569 EXPECT_TRUE(details.dispatcher_destroyed);
556 EXPECT_TRUE(mouse.stopped_propagation()); 570 EXPECT_TRUE(mouse.stopped_propagation());
557 EXPECT_EQ(2U, target.handler_list().size()); 571 EXPECT_EQ(2U, target.handler_list().size());
558 EXPECT_EQ(1, target.handler_list()[0]); 572 EXPECT_EQ(1, target.handler_list()[0]);
559 EXPECT_EQ(2, target.handler_list()[1]); 573 EXPECT_EQ(2, target.handler_list()[1]);
560 } 574 }
561 575
562 // Test for non-cancelable events. 576 // Test for non-cancelable events.
563 { 577 {
(...skipping 17 matching lines...) Expand all
581 NonCancelableEvent event; 595 NonCancelableEvent event;
582 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &event); 596 EventDispatchDetails details = dispatcher->ProcessEvent(&target, &event);
583 EXPECT_TRUE(details.dispatcher_destroyed); 597 EXPECT_TRUE(details.dispatcher_destroyed);
584 EXPECT_EQ(2U, target.handler_list().size()); 598 EXPECT_EQ(2U, target.handler_list().size());
585 EXPECT_EQ(1, target.handler_list()[0]); 599 EXPECT_EQ(1, target.handler_list()[0]);
586 EXPECT_EQ(2, target.handler_list()[1]); 600 EXPECT_EQ(2, target.handler_list()[1]);
587 } 601 }
588 } 602 }
589 603
590 } // namespace ui 604 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698