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

Side by Side Diff: ui/app_list/cocoa/apps_grid_controller_unittest.mm

Issue 17593006: mac: Update clients of scoped_nsobject.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: iwyu, scoped_nsprotocol Created 7 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/mac/foundation_util.h" 5 #include "base/mac/foundation_util.h"
6 #include "base/memory/scoped_nsobject.h" 6 #include "base/mac/scoped_nsobject.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "skia/ext/skia_utils_mac.h" 8 #include "skia/ext/skia_utils_mac.h"
9 #import "testing/gtest_mac.h" 9 #import "testing/gtest_mac.h"
10 #include "ui/app_list/app_list_constants.h" 10 #include "ui/app_list/app_list_constants.h"
11 #include "ui/app_list/app_list_item_model.h" 11 #include "ui/app_list/app_list_item_model.h"
12 #import "ui/app_list/cocoa/apps_collection_view_drag_manager.h" 12 #import "ui/app_list/cocoa/apps_collection_view_drag_manager.h"
13 #import "ui/app_list/cocoa/apps_grid_controller.h" 13 #import "ui/app_list/cocoa/apps_grid_controller.h"
14 #import "ui/app_list/cocoa/apps_grid_view_item.h" 14 #import "ui/app_list/cocoa/apps_grid_view_item.h"
15 #import "ui/app_list/cocoa/apps_pagination_model_observer.h" 15 #import "ui/app_list/cocoa/apps_pagination_model_observer.h"
16 #import "ui/app_list/cocoa/test/apps_grid_controller_test_helper.h" 16 #import "ui/app_list/cocoa/test/apps_grid_controller_test_helper.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 [test_window() makePretendKeyWindowAndSetFirstResponder: 107 [test_window() makePretendKeyWindowAndSetFirstResponder:
108 [apps_grid_controller_ collectionViewAtPageIndex:0]]; 108 [apps_grid_controller_ collectionViewAtPageIndex:0]];
109 } 109 }
110 110
111 virtual void TearDown() OVERRIDE { 111 virtual void TearDown() OVERRIDE {
112 owned_apps_grid_controller_.reset(); 112 owned_apps_grid_controller_.reset();
113 AppsGridControllerTestHelper::TearDown(); 113 AppsGridControllerTestHelper::TearDown();
114 } 114 }
115 115
116 private: 116 private:
117 scoped_nsobject<AppsGridController> owned_apps_grid_controller_; 117 base::scoped_nsobject<AppsGridController> owned_apps_grid_controller_;
118 scoped_ptr<AppListTestViewDelegate> owned_delegate_; 118 scoped_ptr<AppListTestViewDelegate> owned_delegate_;
119 119
120 DISALLOW_COPY_AND_ASSIGN(AppsGridControllerTest); 120 DISALLOW_COPY_AND_ASSIGN(AppsGridControllerTest);
121 }; 121 };
122 122
123 class AppListItemWithMenu : public AppListItemModel { 123 class AppListItemWithMenu : public AppListItemModel {
124 public: 124 public:
125 AppListItemWithMenu(const std::string& title) : menu_model_(NULL) { 125 AppListItemWithMenu(const std::string& title) : menu_model_(NULL) {
126 SetTitle(title); 126 SetTitle(title);
127 menu_model_.AddItem(0, UTF8ToUTF16("Menu For: " + title)); 127 menu_model_.AddItem(0, UTF8ToUTF16("Menu For: " + title));
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 SimulateMouseEnterItemAt(1); 495 SimulateMouseEnterItemAt(1);
496 EXPECT_EQ(GetItemViewAt(1), GetSelectedView()); 496 EXPECT_EQ(GetItemViewAt(1), GetSelectedView());
497 SimulateMouseExitItemAt(0); 497 SimulateMouseExitItemAt(0);
498 EXPECT_EQ(GetItemViewAt(1), GetSelectedView()); 498 EXPECT_EQ(GetItemViewAt(1), GetSelectedView());
499 SimulateMouseExitItemAt(1); 499 SimulateMouseExitItemAt(1);
500 EXPECT_EQ(nil, GetSelectedView()); 500 EXPECT_EQ(nil, GetSelectedView());
501 } 501 }
502 502
503 // Test AppsGridPaginationObserver totalPagesChanged(). 503 // Test AppsGridPaginationObserver totalPagesChanged().
504 TEST_F(AppsGridControllerTest, PaginationObserverPagesChanged) { 504 TEST_F(AppsGridControllerTest, PaginationObserverPagesChanged) {
505 scoped_nsobject<TestPaginationObserver> observer( 505 base::scoped_nsobject<TestPaginationObserver> observer(
506 [[TestPaginationObserver alloc] init]); 506 [[TestPaginationObserver alloc] init]);
507 [apps_grid_controller_ setPaginationObserver:observer]; 507 [apps_grid_controller_ setPaginationObserver:observer];
508 508
509 // Test totalPagesChanged. 509 // Test totalPagesChanged.
510 model()->PopulateApps(kItemsPerPage); 510 model()->PopulateApps(kItemsPerPage);
511 EXPECT_EQ(0, [observer totalPagesChangedCount]); 511 EXPECT_EQ(0, [observer totalPagesChangedCount]);
512 EXPECT_EQ(1u, [apps_grid_controller_ pageCount]); 512 EXPECT_EQ(1u, [apps_grid_controller_ pageCount]);
513 model()->PopulateApps(1); 513 model()->PopulateApps(1);
514 EXPECT_EQ(1, [observer totalPagesChangedCount]); 514 EXPECT_EQ(1, [observer totalPagesChangedCount]);
515 EXPECT_EQ(2u, [apps_grid_controller_ pageCount]); 515 EXPECT_EQ(2u, [apps_grid_controller_ pageCount]);
516 ReplaceTestModel(0); 516 ReplaceTestModel(0);
517 EXPECT_EQ(2, [observer totalPagesChangedCount]); 517 EXPECT_EQ(2, [observer totalPagesChangedCount]);
518 EXPECT_EQ(1u, [apps_grid_controller_ pageCount]); 518 EXPECT_EQ(1u, [apps_grid_controller_ pageCount]);
519 ReplaceTestModel(kItemsPerPage * 3 + 1); 519 ReplaceTestModel(kItemsPerPage * 3 + 1);
520 EXPECT_EQ(3, [observer totalPagesChangedCount]); 520 EXPECT_EQ(3, [observer totalPagesChangedCount]);
521 EXPECT_EQ(4u, [apps_grid_controller_ pageCount]); 521 EXPECT_EQ(4u, [apps_grid_controller_ pageCount]);
522 522
523 EXPECT_FALSE([observer readVisibilityDidChange]); 523 EXPECT_FALSE([observer readVisibilityDidChange]);
524 EXPECT_EQ(0, [observer selectedPageChangedCount]); 524 EXPECT_EQ(0, [observer selectedPageChangedCount]);
525 525
526 [apps_grid_controller_ setPaginationObserver:nil]; 526 [apps_grid_controller_ setPaginationObserver:nil];
527 } 527 }
528 528
529 // Test AppsGridPaginationObserver selectedPageChanged(). 529 // Test AppsGridPaginationObserver selectedPageChanged().
530 TEST_F(AppsGridControllerTest, PaginationObserverSelectedPageChanged) { 530 TEST_F(AppsGridControllerTest, PaginationObserverSelectedPageChanged) {
531 scoped_nsobject<TestPaginationObserver> observer( 531 base::scoped_nsobject<TestPaginationObserver> observer(
532 [[TestPaginationObserver alloc] init]); 532 [[TestPaginationObserver alloc] init]);
533 [apps_grid_controller_ setPaginationObserver:observer]; 533 [apps_grid_controller_ setPaginationObserver:observer];
534 EXPECT_EQ(0, [[NSAnimationContext currentContext] duration]); 534 EXPECT_EQ(0, [[NSAnimationContext currentContext] duration]);
535 535
536 ReplaceTestModel(kItemsPerPage * 3 + 1); 536 ReplaceTestModel(kItemsPerPage * 3 + 1);
537 EXPECT_EQ(1, [observer totalPagesChangedCount]); 537 EXPECT_EQ(1, [observer totalPagesChangedCount]);
538 EXPECT_EQ(4u, [apps_grid_controller_ pageCount]); 538 EXPECT_EQ(4u, [apps_grid_controller_ pageCount]);
539 539
540 EXPECT_FALSE([observer readVisibilityDidChange]); 540 EXPECT_FALSE([observer readVisibilityDidChange]);
541 EXPECT_EQ(0, [observer selectedPageChangedCount]); 541 EXPECT_EQ(0, [observer selectedPageChangedCount]);
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 // Scroll to end again, and keep dragging (should be ignored). 742 // Scroll to end again, and keep dragging (should be ignored).
743 [apps_grid_controller_ scrollToPage:2]; 743 [apps_grid_controller_ scrollToPage:2];
744 [drag_manager onMouseDragged:mouse_at_cell_0]; 744 [drag_manager onMouseDragged:mouse_at_cell_0];
745 EXPECT_EQ(0u, GetPageIndexForItem(1)); 745 EXPECT_EQ(0u, GetPageIndexForItem(1));
746 [drag_manager onMouseUp:mouse_at_cell_0]; 746 [drag_manager onMouseUp:mouse_at_cell_0];
747 EXPECT_EQ(0u, GetPageIndexForItem(1)); 747 EXPECT_EQ(0u, GetPageIndexForItem(1));
748 } 748 }
749 749
750 // Test scrolling when dragging past edge or over the pager. 750 // Test scrolling when dragging past edge or over the pager.
751 TEST_F(AppsGridControllerTest, ScrollingWhileDragging) { 751 TEST_F(AppsGridControllerTest, ScrollingWhileDragging) {
752 scoped_nsobject<TestPaginationObserver> observer( 752 base::scoped_nsobject<TestPaginationObserver> observer(
753 [[TestPaginationObserver alloc] init]); 753 [[TestPaginationObserver alloc] init]);
754 [apps_grid_controller_ setPaginationObserver:observer]; 754 [apps_grid_controller_ setPaginationObserver:observer];
755 755
756 ReplaceTestModel(kItemsPerPage * 3); 756 ReplaceTestModel(kItemsPerPage * 3);
757 // Start on the middle page. 757 // Start on the middle page.
758 [apps_grid_controller_ scrollToPage:1]; 758 [apps_grid_controller_ scrollToPage:1];
759 NSCollectionView* page = [apps_grid_controller_ collectionViewAtPageIndex:1]; 759 NSCollectionView* page = [apps_grid_controller_ collectionViewAtPageIndex:1];
760 NSEvent* mouse_at_cell_0 = MouseEventInCell(page, 0); 760 NSEvent* mouse_at_cell_0 = MouseEventInCell(page, 0);
761 761
762 NSEvent* at_center = MouseEventForScroll([apps_grid_controller_ view], 0.0); 762 NSEvent* at_center = MouseEventForScroll([apps_grid_controller_ view], 0.0);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 EXPECT_EQ(1, [menu numberOfItems]); 832 EXPECT_EQ(1, [menu numberOfItems]);
833 EXPECT_NSEQ(@"Menu For: Item One", [[menu itemAtIndex:0] title]); 833 EXPECT_NSEQ(@"Menu For: Item One", [[menu itemAtIndex:0] title]);
834 834
835 menu = [page menuForEvent:mouse_at_cell_1]; 835 menu = [page menuForEvent:mouse_at_cell_1];
836 EXPECT_EQ(1, [menu numberOfItems]); 836 EXPECT_EQ(1, [menu numberOfItems]);
837 EXPECT_NSEQ(@"Menu For: Item Two", [[menu itemAtIndex:0] title]); 837 EXPECT_NSEQ(@"Menu For: Item Two", [[menu itemAtIndex:0] title]);
838 } 838 }
839 839
840 } // namespace test 840 } // namespace test
841 } // namespace app_list 841 } // namespace app_list
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698