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

Side by Side Diff: ui/app_list/views/apps_grid_view_unittest.cc

Issue 302803002: Refactor app list so AppsGridView owns the PaginationModel. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix tests and bugs. Created 6 years, 6 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 (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/app_list/views/apps_grid_view.h" 5 #include "ui/app_list/views/apps_grid_view.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 bool page_changed_; 92 bool page_changed_;
93 base::OneShotTimer<PageFlipWaiter> wait_timer_; 93 base::OneShotTimer<PageFlipWaiter> wait_timer_;
94 94
95 DISALLOW_COPY_AND_ASSIGN(PageFlipWaiter); 95 DISALLOW_COPY_AND_ASSIGN(PageFlipWaiter);
96 }; 96 };
97 97
98 } // namespace 98 } // namespace
99 99
100 class AppsGridViewTest : public views::ViewsTestBase { 100 class AppsGridViewTest : public views::ViewsTestBase {
101 public: 101 public:
102 AppsGridViewTest() {} 102 AppsGridViewTest() : pagination_model_(NULL) {}
103 virtual ~AppsGridViewTest() {} 103 virtual ~AppsGridViewTest() {}
104 104
105 // testing::Test overrides: 105 // testing::Test overrides:
106 virtual void SetUp() OVERRIDE { 106 virtual void SetUp() OVERRIDE {
107 views::ViewsTestBase::SetUp(); 107 views::ViewsTestBase::SetUp();
108 model_.reset(new AppListTestModel); 108 model_.reset(new AppListTestModel);
109 pagination_model_.reset(new PaginationModel);
110 109
111 apps_grid_view_.reset(new AppsGridView(NULL, pagination_model_.get())); 110 apps_grid_view_.reset(new AppsGridView(NULL));
112 apps_grid_view_->SetLayout(kIconDimension, kCols, kRows); 111 apps_grid_view_->SetLayout(kIconDimension, kCols, kRows);
113 apps_grid_view_->SetBoundsRect(gfx::Rect(gfx::Size(kWidth, kHeight))); 112 apps_grid_view_->SetBoundsRect(gfx::Rect(gfx::Size(kWidth, kHeight)));
114 apps_grid_view_->SetModel(model_.get()); 113 apps_grid_view_->SetModel(model_.get());
115 apps_grid_view_->SetItemList(model_->top_level_item_list()); 114 apps_grid_view_->SetItemList(model_->top_level_item_list());
116 115
117 test_api_.reset(new AppsGridViewTestApi(apps_grid_view_.get())); 116 test_api_.reset(new AppsGridViewTestApi(apps_grid_view_.get()));
117
118 pagination_model_ = apps_grid_view_->GetPaginationModel();
118 } 119 }
119 virtual void TearDown() OVERRIDE { 120 virtual void TearDown() OVERRIDE {
120 apps_grid_view_.reset(); // Release apps grid view before models. 121 apps_grid_view_.reset(); // Release apps grid view before models.
121 views::ViewsTestBase::TearDown(); 122 views::ViewsTestBase::TearDown();
122 } 123 }
123 124
124 protected: 125 protected:
125 void EnsureFoldersEnabled() { 126 void EnsureFoldersEnabled() {
126 // Folders require AppList sync to be enabled. 127 // Folders require AppList sync to be enabled.
127 CommandLine::ForCurrentProcess()->AppendSwitch( 128 CommandLine::ForCurrentProcess()->AppendSwitch(
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 translated_to, to, 0, 0); 173 translated_to, to, 0, 0);
173 apps_grid_view_->UpdateDragFromItem(pointer, drag_event); 174 apps_grid_view_->UpdateDragFromItem(pointer, drag_event);
174 } 175 }
175 176
176 void SimulateKeyPress(ui::KeyboardCode key_code) { 177 void SimulateKeyPress(ui::KeyboardCode key_code) {
177 ui::KeyEvent key_event(ui::ET_KEY_PRESSED, key_code, 0, false); 178 ui::KeyEvent key_event(ui::ET_KEY_PRESSED, key_code, 0, false);
178 apps_grid_view_->OnKeyPressed(key_event); 179 apps_grid_view_->OnKeyPressed(key_event);
179 } 180 }
180 181
181 scoped_ptr<AppListTestModel> model_; 182 scoped_ptr<AppListTestModel> model_;
182 scoped_ptr<PaginationModel> pagination_model_;
183 scoped_ptr<AppsGridView> apps_grid_view_; 183 scoped_ptr<AppsGridView> apps_grid_view_;
184 scoped_ptr<AppsGridViewTestApi> test_api_; 184 scoped_ptr<AppsGridViewTestApi> test_api_;
185 185
186 PaginationModel* pagination_model_; // Owned by |apps_grid_view_|.
187
186 private: 188 private:
187 DISALLOW_COPY_AND_ASSIGN(AppsGridViewTest); 189 DISALLOW_COPY_AND_ASSIGN(AppsGridViewTest);
188 }; 190 };
189 191
190 class TestAppsGridViewFolderDelegate : public AppsGridViewFolderDelegate { 192 class TestAppsGridViewFolderDelegate : public AppsGridViewFolderDelegate {
191 public: 193 public:
192 TestAppsGridViewFolderDelegate() : show_bubble_(false) {} 194 TestAppsGridViewFolderDelegate() : show_bubble_(false) {}
193 virtual ~TestAppsGridViewFolderDelegate() {} 195 virtual ~TestAppsGridViewFolderDelegate() {}
194 196
195 // Overridden from AppsGridViewFolderDelegate: 197 // Overridden from AppsGridViewFolderDelegate:
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 apps_grid_view_->EndDrag(false); 498 apps_grid_view_->EndDrag(false);
497 EXPECT_EQ(std::string("Item 0,Item 1,Item 3,Extra"), 499 EXPECT_EQ(std::string("Item 0,Item 1,Item 3,Extra"),
498 model_->GetModelContent()); 500 model_->GetModelContent());
499 test_api_->LayoutToIdealBounds(); 501 test_api_->LayoutToIdealBounds();
500 } 502 }
501 503
502 TEST_F(AppsGridViewTest, MouseDragFlipPage) { 504 TEST_F(AppsGridViewTest, MouseDragFlipPage) {
503 test_api_->SetPageFlipDelay(10); 505 test_api_->SetPageFlipDelay(10);
504 pagination_model_->SetTransitionDurations(10, 10); 506 pagination_model_->SetTransitionDurations(10, 10);
505 507
506 PageFlipWaiter page_flip_waiter(message_loop(), 508 PageFlipWaiter page_flip_waiter(message_loop(), pagination_model_);
507 pagination_model_.get());
508 509
509 const int kPages = 3; 510 const int kPages = 3;
510 model_->PopulateApps(kPages * kTilesPerPage); 511 model_->PopulateApps(kPages * kTilesPerPage);
511 EXPECT_EQ(kPages, pagination_model_->total_pages()); 512 EXPECT_EQ(kPages, pagination_model_->total_pages());
512 EXPECT_EQ(0, pagination_model_->selected_page()); 513 EXPECT_EQ(0, pagination_model_->selected_page());
513 514
514 gfx::Point from = GetItemTileRectAt(0, 0).CenterPoint(); 515 gfx::Point from = GetItemTileRectAt(0, 0).CenterPoint();
515 gfx::Point to = gfx::Point(apps_grid_view_->width(), 516 gfx::Point to = gfx::Point(apps_grid_view_->width(),
516 apps_grid_view_->height() / 2); 517 apps_grid_view_->height() / 2);
517 518
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 AppListItemView* item_view = GetItemViewAt(0); 712 AppListItemView* item_view = GetItemViewAt(0);
712 ASSERT_TRUE(item_view); 713 ASSERT_TRUE(item_view);
713 const views::Label* title_label = item_view->title(); 714 const views::Label* title_label = item_view->title();
714 EXPECT_FALSE(title_label->GetTooltipText( 715 EXPECT_FALSE(title_label->GetTooltipText(
715 title_label->bounds().CenterPoint(), &actual_tooltip)); 716 title_label->bounds().CenterPoint(), &actual_tooltip));
716 EXPECT_EQ(title, base::UTF16ToUTF8(title_label->text())); 717 EXPECT_EQ(title, base::UTF16ToUTF8(title_label->text()));
717 } 718 }
718 719
719 } // namespace test 720 } // namespace test
720 } // namespace app_list 721 } // namespace app_list
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698