| OLD | NEW |
| 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 "ash/drag_drop/drag_drop_controller.h" | 5 #include "ash/drag_drop/drag_drop_controller.h" |
| 6 | 6 |
| 7 #include "ash/common/drag_drop/drag_image_view.h" | 7 #include "ash/common/drag_drop/drag_image_view.h" |
| 8 #include "ash/drag_drop/drag_drop_tracker.h" | 8 #include "ash/drag_drop/drag_drop_tracker.h" |
| 9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
| 10 #include "ash/test/ash_test_base.h" | 10 #include "ash/test/ash_test_base.h" |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 animation->Complete(); | 320 animation->Complete(); |
| 321 } | 321 } |
| 322 | 322 |
| 323 protected: | 323 protected: |
| 324 std::unique_ptr<TestDragDropController> drag_drop_controller_; | 324 std::unique_ptr<TestDragDropController> drag_drop_controller_; |
| 325 | 325 |
| 326 private: | 326 private: |
| 327 DISALLOW_COPY_AND_ASSIGN(DragDropControllerTest); | 327 DISALLOW_COPY_AND_ASSIGN(DragDropControllerTest); |
| 328 }; | 328 }; |
| 329 | 329 |
| 330 // TODO(win_aura) http://crbug.com/154081 | 330 TEST_F(DragDropControllerTest, DragDropInSingleViewTest) { |
| 331 #if defined(OS_WIN) | |
| 332 #define MAYBE_DragDropInSingleViewTest DISABLED_DragDropInSingleViewTest | |
| 333 #else | |
| 334 #define MAYBE_DragDropInSingleViewTest DragDropInSingleViewTest | |
| 335 #endif | |
| 336 TEST_F(DragDropControllerTest, MAYBE_DragDropInSingleViewTest) { | |
| 337 std::unique_ptr<views::Widget> widget(CreateNewWidget()); | 331 std::unique_ptr<views::Widget> widget(CreateNewWidget()); |
| 338 DragTestView* drag_view = new DragTestView; | 332 DragTestView* drag_view = new DragTestView; |
| 339 AddViewToWidgetAndResize(widget.get(), drag_view); | 333 AddViewToWidgetAndResize(widget.get(), drag_view); |
| 340 ui::OSExchangeData data; | 334 ui::OSExchangeData data; |
| 341 data.SetString(base::UTF8ToUTF16("I am being dragged")); | 335 data.SetString(base::UTF8ToUTF16("I am being dragged")); |
| 342 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), | 336 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), |
| 343 widget->GetNativeView()); | 337 widget->GetNativeView()); |
| 344 generator.PressLeftButton(); | 338 generator.PressLeftButton(); |
| 345 | 339 |
| 346 int num_drags = 17; | 340 int num_drags = 17; |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 EXPECT_TRUE(drag_drop_controller_->drop_received_); | 404 EXPECT_TRUE(drag_drop_controller_->drop_received_); |
| 411 | 405 |
| 412 EXPECT_EQ(1, drag_view->num_drag_enters_); | 406 EXPECT_EQ(1, drag_view->num_drag_enters_); |
| 413 EXPECT_EQ(num_drags - 1 - drag_view->VerticalDragThreshold() + 1, | 407 EXPECT_EQ(num_drags - 1 - drag_view->VerticalDragThreshold() + 1, |
| 414 drag_view->num_drag_updates_); | 408 drag_view->num_drag_updates_); |
| 415 EXPECT_EQ(1, drag_view->num_drops_); | 409 EXPECT_EQ(1, drag_view->num_drops_); |
| 416 EXPECT_EQ(0, drag_view->num_drag_exits_); | 410 EXPECT_EQ(0, drag_view->num_drag_exits_); |
| 417 EXPECT_TRUE(drag_view->drag_done_received_); | 411 EXPECT_TRUE(drag_view->drag_done_received_); |
| 418 } | 412 } |
| 419 | 413 |
| 420 // TODO(win_aura) http://crbug.com/154081 | 414 TEST_F(DragDropControllerTest, DragDropInMultipleViewsSingleWidgetTest) { |
| 421 #if defined(OS_WIN) | |
| 422 #define MAYBE_DragDropInMultipleViewsSingleWidgetTest \ | |
| 423 DISABLED_DragDropInMultipleViewsSingleWidgetTest | |
| 424 #else | |
| 425 #define MAYBE_DragDropInMultipleViewsSingleWidgetTest \ | |
| 426 DragDropInMultipleViewsSingleWidgetTest | |
| 427 #endif | |
| 428 TEST_F(DragDropControllerTest, MAYBE_DragDropInMultipleViewsSingleWidgetTest) { | |
| 429 std::unique_ptr<views::Widget> widget(CreateNewWidget()); | 415 std::unique_ptr<views::Widget> widget(CreateNewWidget()); |
| 430 DragTestView* drag_view1 = new DragTestView; | 416 DragTestView* drag_view1 = new DragTestView; |
| 431 AddViewToWidgetAndResize(widget.get(), drag_view1); | 417 AddViewToWidgetAndResize(widget.get(), drag_view1); |
| 432 DragTestView* drag_view2 = new DragTestView; | 418 DragTestView* drag_view2 = new DragTestView; |
| 433 AddViewToWidgetAndResize(widget.get(), drag_view2); | 419 AddViewToWidgetAndResize(widget.get(), drag_view2); |
| 434 | 420 |
| 435 ui::OSExchangeData data; | 421 ui::OSExchangeData data; |
| 436 data.SetString(base::UTF8ToUTF16("I am being dragged")); | 422 data.SetString(base::UTF8ToUTF16("I am being dragged")); |
| 437 | 423 |
| 438 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); | 424 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 EXPECT_TRUE(drag_view1->drag_done_received_); | 459 EXPECT_TRUE(drag_view1->drag_done_received_); |
| 474 | 460 |
| 475 EXPECT_EQ(1, drag_view2->num_drag_enters_); | 461 EXPECT_EQ(1, drag_view2->num_drag_enters_); |
| 476 num_expected_updates = num_drags - num_expected_updates - 1; | 462 num_expected_updates = num_drags - num_expected_updates - 1; |
| 477 EXPECT_EQ(num_expected_updates, drag_view2->num_drag_updates_); | 463 EXPECT_EQ(num_expected_updates, drag_view2->num_drag_updates_); |
| 478 EXPECT_EQ(1, drag_view2->num_drops_); | 464 EXPECT_EQ(1, drag_view2->num_drops_); |
| 479 EXPECT_EQ(0, drag_view2->num_drag_exits_); | 465 EXPECT_EQ(0, drag_view2->num_drag_exits_); |
| 480 EXPECT_FALSE(drag_view2->drag_done_received_); | 466 EXPECT_FALSE(drag_view2->drag_done_received_); |
| 481 } | 467 } |
| 482 | 468 |
| 483 // TODO(win_aura) http://crbug.com/154081 | 469 TEST_F(DragDropControllerTest, DragDropInMultipleViewsMultipleWidgetsTest) { |
| 484 #if defined(OS_WIN) | |
| 485 #define MAYBE_DragDropInMultipleViewsMultipleWidgetsTest \ | |
| 486 DISABLED_DragDropInMultipleViewsMultipleWidgetsTest | |
| 487 #else | |
| 488 #define MAYBE_DragDropInMultipleViewsMultipleWidgetsTest \ | |
| 489 DragDropInMultipleViewsMultipleWidgetsTest | |
| 490 #endif | |
| 491 TEST_F(DragDropControllerTest, | |
| 492 MAYBE_DragDropInMultipleViewsMultipleWidgetsTest) { | |
| 493 std::unique_ptr<views::Widget> widget1(CreateNewWidget()); | 470 std::unique_ptr<views::Widget> widget1(CreateNewWidget()); |
| 494 DragTestView* drag_view1 = new DragTestView; | 471 DragTestView* drag_view1 = new DragTestView; |
| 495 AddViewToWidgetAndResize(widget1.get(), drag_view1); | 472 AddViewToWidgetAndResize(widget1.get(), drag_view1); |
| 496 std::unique_ptr<views::Widget> widget2(CreateNewWidget()); | 473 std::unique_ptr<views::Widget> widget2(CreateNewWidget()); |
| 497 DragTestView* drag_view2 = new DragTestView; | 474 DragTestView* drag_view2 = new DragTestView; |
| 498 AddViewToWidgetAndResize(widget2.get(), drag_view2); | 475 AddViewToWidgetAndResize(widget2.get(), drag_view2); |
| 499 gfx::Rect widget1_bounds = widget1->GetClientAreaBoundsInScreen(); | 476 gfx::Rect widget1_bounds = widget1->GetClientAreaBoundsInScreen(); |
| 500 gfx::Rect widget2_bounds = widget2->GetClientAreaBoundsInScreen(); | 477 gfx::Rect widget2_bounds = widget2->GetClientAreaBoundsInScreen(); |
| 501 widget2->SetBounds(gfx::Rect(widget1_bounds.width(), 0, | 478 widget2->SetBounds(gfx::Rect(widget1_bounds.width(), 0, |
| 502 widget2_bounds.width(), | 479 widget2_bounds.width(), |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 EXPECT_TRUE(drag_view1->drag_done_received_); | 519 EXPECT_TRUE(drag_view1->drag_done_received_); |
| 543 | 520 |
| 544 EXPECT_EQ(1, drag_view2->num_drag_enters_); | 521 EXPECT_EQ(1, drag_view2->num_drag_enters_); |
| 545 num_expected_updates = num_drags - num_expected_updates - 1; | 522 num_expected_updates = num_drags - num_expected_updates - 1; |
| 546 EXPECT_EQ(num_expected_updates, drag_view2->num_drag_updates_); | 523 EXPECT_EQ(num_expected_updates, drag_view2->num_drag_updates_); |
| 547 EXPECT_EQ(1, drag_view2->num_drops_); | 524 EXPECT_EQ(1, drag_view2->num_drops_); |
| 548 EXPECT_EQ(0, drag_view2->num_drag_exits_); | 525 EXPECT_EQ(0, drag_view2->num_drag_exits_); |
| 549 EXPECT_FALSE(drag_view2->drag_done_received_); | 526 EXPECT_FALSE(drag_view2->drag_done_received_); |
| 550 } | 527 } |
| 551 | 528 |
| 552 // TODO(win_aura) http://crbug.com/154081 | 529 TEST_F(DragDropControllerTest, ViewRemovedWhileInDragDropTest) { |
| 553 #if defined(OS_WIN) | |
| 554 #define MAYBE_ViewRemovedWhileInDragDropTest \ | |
| 555 DISABLED_ViewRemovedWhileInDragDropTest | |
| 556 #else | |
| 557 #define MAYBE_ViewRemovedWhileInDragDropTest ViewRemovedWhileInDragDropTest | |
| 558 #endif | |
| 559 TEST_F(DragDropControllerTest, MAYBE_ViewRemovedWhileInDragDropTest) { | |
| 560 std::unique_ptr<views::Widget> widget(CreateNewWidget()); | 530 std::unique_ptr<views::Widget> widget(CreateNewWidget()); |
| 561 std::unique_ptr<DragTestView> drag_view(new DragTestView); | 531 std::unique_ptr<DragTestView> drag_view(new DragTestView); |
| 562 AddViewToWidgetAndResize(widget.get(), drag_view.get()); | 532 AddViewToWidgetAndResize(widget.get(), drag_view.get()); |
| 563 ui::OSExchangeData data; | 533 ui::OSExchangeData data; |
| 564 data.SetString(base::UTF8ToUTF16("I am being dragged")); | 534 data.SetString(base::UTF8ToUTF16("I am being dragged")); |
| 565 | 535 |
| 566 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); | 536 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); |
| 567 generator.MoveMouseToCenterOf(widget->GetNativeView()); | 537 generator.MoveMouseToCenterOf(widget->GetNativeView()); |
| 568 generator.PressLeftButton(); | 538 generator.PressLeftButton(); |
| 569 | 539 |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 736 drag_drop_controller_->drag_string_); | 706 drag_drop_controller_->drag_string_); |
| 737 | 707 |
| 738 EXPECT_EQ(1, drag_view->num_drag_enters_); | 708 EXPECT_EQ(1, drag_view->num_drag_enters_); |
| 739 EXPECT_EQ(num_drags - 1 - drag_view->VerticalDragThreshold(), | 709 EXPECT_EQ(num_drags - 1 - drag_view->VerticalDragThreshold(), |
| 740 drag_view->num_drag_updates_); | 710 drag_view->num_drag_updates_); |
| 741 EXPECT_EQ(1, drag_view->num_drops_); | 711 EXPECT_EQ(1, drag_view->num_drops_); |
| 742 EXPECT_EQ(0, drag_view->num_drag_exits_); | 712 EXPECT_EQ(0, drag_view->num_drag_exits_); |
| 743 EXPECT_TRUE(drag_view->drag_done_received_); | 713 EXPECT_TRUE(drag_view->drag_done_received_); |
| 744 } | 714 } |
| 745 | 715 |
| 746 // TODO(win_aura) http://crbug.com/154081 | 716 TEST_F(DragDropControllerTest, PressingEscapeCancelsDragDrop) { |
| 747 #if defined(OS_WIN) | |
| 748 #define MAYBE_PressingEscapeCancelsDragDrop \ | |
| 749 DISABLED_PressingEscapeCancelsDragDrop | |
| 750 #define MAYBE_CaptureLostCancelsDragDrop DISABLED_CaptureLostCancelsDragDrop | |
| 751 #else | |
| 752 #define MAYBE_PressingEscapeCancelsDragDrop PressingEscapeCancelsDragDrop | |
| 753 #define MAYBE_CaptureLostCancelsDragDrop CaptureLostCancelsDragDrop | |
| 754 #endif | |
| 755 TEST_F(DragDropControllerTest, MAYBE_PressingEscapeCancelsDragDrop) { | |
| 756 std::unique_ptr<views::Widget> widget(CreateNewWidget()); | 717 std::unique_ptr<views::Widget> widget(CreateNewWidget()); |
| 757 DragTestView* drag_view = new DragTestView; | 718 DragTestView* drag_view = new DragTestView; |
| 758 AddViewToWidgetAndResize(widget.get(), drag_view); | 719 AddViewToWidgetAndResize(widget.get(), drag_view); |
| 759 ui::OSExchangeData data; | 720 ui::OSExchangeData data; |
| 760 data.SetString(base::UTF8ToUTF16("I am being dragged")); | 721 data.SetString(base::UTF8ToUTF16("I am being dragged")); |
| 761 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), | 722 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), |
| 762 widget->GetNativeView()); | 723 widget->GetNativeView()); |
| 763 generator.PressLeftButton(); | 724 generator.PressLeftButton(); |
| 764 | 725 |
| 765 int num_drags = 17; | 726 int num_drags = 17; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 787 drag_drop_controller_->drag_string_); | 748 drag_drop_controller_->drag_string_); |
| 788 | 749 |
| 789 EXPECT_EQ(1, drag_view->num_drag_enters_); | 750 EXPECT_EQ(1, drag_view->num_drag_enters_); |
| 790 EXPECT_EQ(num_drags - 1 - drag_view->VerticalDragThreshold(), | 751 EXPECT_EQ(num_drags - 1 - drag_view->VerticalDragThreshold(), |
| 791 drag_view->num_drag_updates_); | 752 drag_view->num_drag_updates_); |
| 792 EXPECT_EQ(0, drag_view->num_drops_); | 753 EXPECT_EQ(0, drag_view->num_drops_); |
| 793 EXPECT_EQ(1, drag_view->num_drag_exits_); | 754 EXPECT_EQ(1, drag_view->num_drag_exits_); |
| 794 EXPECT_TRUE(drag_view->drag_done_received_); | 755 EXPECT_TRUE(drag_view->drag_done_received_); |
| 795 } | 756 } |
| 796 | 757 |
| 797 TEST_F(DragDropControllerTest, MAYBE_CaptureLostCancelsDragDrop) { | 758 TEST_F(DragDropControllerTest, CaptureLostCancelsDragDrop) { |
| 798 std::unique_ptr<views::Widget> widget(CreateNewWidget()); | 759 std::unique_ptr<views::Widget> widget(CreateNewWidget()); |
| 799 DragTestView* drag_view = new DragTestView; | 760 DragTestView* drag_view = new DragTestView; |
| 800 AddViewToWidgetAndResize(widget.get(), drag_view); | 761 AddViewToWidgetAndResize(widget.get(), drag_view); |
| 801 ui::OSExchangeData data; | 762 ui::OSExchangeData data; |
| 802 data.SetString(base::UTF8ToUTF16("I am being dragged")); | 763 data.SetString(base::UTF8ToUTF16("I am being dragged")); |
| 803 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), | 764 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), |
| 804 widget->GetNativeView()); | 765 widget->GetNativeView()); |
| 805 generator.PressLeftButton(); | 766 generator.PressLeftButton(); |
| 806 | 767 |
| 807 int num_drags = 17; | 768 int num_drags = 17; |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1137 drag_drop_controller_->drag_string_); | 1098 drag_drop_controller_->drag_string_); |
| 1138 EXPECT_EQ(1, drag_view->num_drag_enters_); | 1099 EXPECT_EQ(1, drag_view->num_drag_enters_); |
| 1139 EXPECT_EQ(2, drag_view->num_drag_updates_); | 1100 EXPECT_EQ(2, drag_view->num_drag_updates_); |
| 1140 EXPECT_EQ(1, drag_view->num_drops_); | 1101 EXPECT_EQ(1, drag_view->num_drops_); |
| 1141 EXPECT_EQ(0, drag_view->num_drag_exits_); | 1102 EXPECT_EQ(0, drag_view->num_drag_exits_); |
| 1142 EXPECT_TRUE(drag_view->drag_done_received_); | 1103 EXPECT_TRUE(drag_view->drag_done_received_); |
| 1143 } | 1104 } |
| 1144 | 1105 |
| 1145 } // namespace test | 1106 } // namespace test |
| 1146 } // namespace ash | 1107 } // namespace ash |
| OLD | NEW |