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 "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 27 matching lines...) Expand all Loading... |
38 const int kWidth = 320; | 38 const int kWidth = 320; |
39 const int kHeight = 240; | 39 const int kHeight = 240; |
40 | 40 |
41 class PageFlipWaiter : public PaginationModelObserver { | 41 class PageFlipWaiter : public PaginationModelObserver { |
42 public: | 42 public: |
43 PageFlipWaiter(base::MessageLoopForUI* ui_loop, PaginationModel* model) | 43 PageFlipWaiter(base::MessageLoopForUI* ui_loop, PaginationModel* model) |
44 : ui_loop_(ui_loop), model_(model), wait_(false) { | 44 : ui_loop_(ui_loop), model_(model), wait_(false) { |
45 model_->AddObserver(this); | 45 model_->AddObserver(this); |
46 } | 46 } |
47 | 47 |
48 virtual ~PageFlipWaiter() { | 48 ~PageFlipWaiter() override { model_->RemoveObserver(this); } |
49 model_->RemoveObserver(this); | |
50 } | |
51 | 49 |
52 void Wait() { | 50 void Wait() { |
53 DCHECK(!wait_); | 51 DCHECK(!wait_); |
54 wait_ = true; | 52 wait_ = true; |
55 | 53 |
56 ui_loop_->Run(); | 54 ui_loop_->Run(); |
57 wait_ = false; | 55 wait_ = false; |
58 } | 56 } |
59 | 57 |
60 void Reset() { selected_pages_.clear(); } | 58 void Reset() { selected_pages_.clear(); } |
61 | 59 |
62 const std::string& selected_pages() const { return selected_pages_; } | 60 const std::string& selected_pages() const { return selected_pages_; } |
63 | 61 |
64 private: | 62 private: |
65 // PaginationModelObserver overrides: | 63 // PaginationModelObserver overrides: |
66 virtual void TotalPagesChanged() override { | 64 void TotalPagesChanged() override {} |
67 } | 65 void SelectedPageChanged(int old_selected, int new_selected) override { |
68 virtual void SelectedPageChanged(int old_selected, | |
69 int new_selected) override { | |
70 if (!selected_pages_.empty()) | 66 if (!selected_pages_.empty()) |
71 selected_pages_ += ','; | 67 selected_pages_ += ','; |
72 selected_pages_ += base::IntToString(new_selected); | 68 selected_pages_ += base::IntToString(new_selected); |
73 | 69 |
74 if (wait_) | 70 if (wait_) |
75 ui_loop_->Quit(); | 71 ui_loop_->Quit(); |
76 } | 72 } |
77 virtual void TransitionStarted() override { | 73 void TransitionStarted() override {} |
78 } | 74 void TransitionChanged() override {} |
79 virtual void TransitionChanged() override { | |
80 } | |
81 | 75 |
82 base::MessageLoopForUI* ui_loop_; | 76 base::MessageLoopForUI* ui_loop_; |
83 PaginationModel* model_; | 77 PaginationModel* model_; |
84 bool wait_; | 78 bool wait_; |
85 std::string selected_pages_; | 79 std::string selected_pages_; |
86 | 80 |
87 DISALLOW_COPY_AND_ASSIGN(PageFlipWaiter); | 81 DISALLOW_COPY_AND_ASSIGN(PageFlipWaiter); |
88 }; | 82 }; |
89 | 83 |
90 } // namespace | 84 } // namespace |
91 | 85 |
92 class AppsGridViewTest : public views::ViewsTestBase { | 86 class AppsGridViewTest : public views::ViewsTestBase { |
93 public: | 87 public: |
94 AppsGridViewTest() {} | 88 AppsGridViewTest() {} |
95 virtual ~AppsGridViewTest() {} | 89 ~AppsGridViewTest() override {} |
96 | 90 |
97 // testing::Test overrides: | 91 // testing::Test overrides: |
98 virtual void SetUp() override { | 92 void SetUp() override { |
99 views::ViewsTestBase::SetUp(); | 93 views::ViewsTestBase::SetUp(); |
100 model_.reset(new AppListTestModel); | 94 model_.reset(new AppListTestModel); |
101 model_->SetFoldersEnabled(true); | 95 model_->SetFoldersEnabled(true); |
102 | 96 |
103 apps_grid_view_.reset(new AppsGridView(NULL)); | 97 apps_grid_view_.reset(new AppsGridView(NULL)); |
104 apps_grid_view_->SetLayout(kCols, kRows); | 98 apps_grid_view_->SetLayout(kCols, kRows); |
105 apps_grid_view_->SetBoundsRect(gfx::Rect(gfx::Size(kWidth, kHeight))); | 99 apps_grid_view_->SetBoundsRect(gfx::Rect(gfx::Size(kWidth, kHeight))); |
106 apps_grid_view_->SetModel(model_.get()); | 100 apps_grid_view_->SetModel(model_.get()); |
107 apps_grid_view_->SetItemList(model_->top_level_item_list()); | 101 apps_grid_view_->SetItemList(model_->top_level_item_list()); |
108 | 102 |
109 test_api_.reset(new AppsGridViewTestApi(apps_grid_view_.get())); | 103 test_api_.reset(new AppsGridViewTestApi(apps_grid_view_.get())); |
110 } | 104 } |
111 virtual void TearDown() override { | 105 void TearDown() override { |
112 apps_grid_view_.reset(); // Release apps grid view before models. | 106 apps_grid_view_.reset(); // Release apps grid view before models. |
113 views::ViewsTestBase::TearDown(); | 107 views::ViewsTestBase::TearDown(); |
114 } | 108 } |
115 | 109 |
116 protected: | 110 protected: |
117 void EnsureFoldersEnabled() { | 111 void EnsureFoldersEnabled() { |
118 // Folders require AppList sync to be enabled. | 112 // Folders require AppList sync to be enabled. |
119 CommandLine::ForCurrentProcess()->AppendSwitch( | 113 CommandLine::ForCurrentProcess()->AppendSwitch( |
120 switches::kEnableSyncAppList); | 114 switches::kEnableSyncAppList); |
121 } | 115 } |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 scoped_ptr<AppsGridView> apps_grid_view_; | 173 scoped_ptr<AppsGridView> apps_grid_view_; |
180 scoped_ptr<AppsGridViewTestApi> test_api_; | 174 scoped_ptr<AppsGridViewTestApi> test_api_; |
181 | 175 |
182 private: | 176 private: |
183 DISALLOW_COPY_AND_ASSIGN(AppsGridViewTest); | 177 DISALLOW_COPY_AND_ASSIGN(AppsGridViewTest); |
184 }; | 178 }; |
185 | 179 |
186 class TestAppsGridViewFolderDelegate : public AppsGridViewFolderDelegate { | 180 class TestAppsGridViewFolderDelegate : public AppsGridViewFolderDelegate { |
187 public: | 181 public: |
188 TestAppsGridViewFolderDelegate() : show_bubble_(false) {} | 182 TestAppsGridViewFolderDelegate() : show_bubble_(false) {} |
189 virtual ~TestAppsGridViewFolderDelegate() {} | 183 ~TestAppsGridViewFolderDelegate() override {} |
190 | 184 |
191 // Overridden from AppsGridViewFolderDelegate: | 185 // Overridden from AppsGridViewFolderDelegate: |
192 virtual void UpdateFolderViewBackground(bool show_bubble) override { | 186 void UpdateFolderViewBackground(bool show_bubble) override { |
193 show_bubble_ = show_bubble; | 187 show_bubble_ = show_bubble; |
194 } | 188 } |
195 | 189 |
196 virtual void ReparentItem(AppListItemView* original_drag_view, | 190 void ReparentItem(AppListItemView* original_drag_view, |
197 const gfx::Point& drag_point_in_folder_grid) | 191 const gfx::Point& drag_point_in_folder_grid) override {} |
198 override {} | |
199 | 192 |
200 virtual void DispatchDragEventForReparent( | 193 void DispatchDragEventForReparent( |
201 AppsGridView::Pointer pointer, | 194 AppsGridView::Pointer pointer, |
202 const gfx::Point& drag_point_in_folder_grid) override {} | 195 const gfx::Point& drag_point_in_folder_grid) override {} |
203 | 196 |
204 virtual void DispatchEndDragEventForReparent( | 197 void DispatchEndDragEventForReparent(bool events_forwarded_to_drag_drop_host, |
205 bool events_forwarded_to_drag_drop_host, | 198 bool cancel_drag) override {} |
206 bool cancel_drag) override {} | |
207 | 199 |
208 virtual bool IsPointOutsideOfFolderBoundary(const gfx::Point& point) | 200 bool IsPointOutsideOfFolderBoundary(const gfx::Point& point) override { |
209 override { | |
210 return false; | 201 return false; |
211 } | 202 } |
212 | 203 |
213 virtual bool IsOEMFolder() const override { return false; } | 204 bool IsOEMFolder() const override { return false; } |
214 | 205 |
215 virtual void SetRootLevelDragViewVisible(bool visible) override {} | 206 void SetRootLevelDragViewVisible(bool visible) override {} |
216 | 207 |
217 bool show_bubble() { return show_bubble_; } | 208 bool show_bubble() { return show_bubble_; } |
218 | 209 |
219 private: | 210 private: |
220 bool show_bubble_; | 211 bool show_bubble_; |
221 | 212 |
222 DISALLOW_COPY_AND_ASSIGN(TestAppsGridViewFolderDelegate); | 213 DISALLOW_COPY_AND_ASSIGN(TestAppsGridViewFolderDelegate); |
223 }; | 214 }; |
224 | 215 |
225 TEST_F(AppsGridViewTest, CreatePage) { | 216 TEST_F(AppsGridViewTest, CreatePage) { |
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
791 AppListItemView* item_view = GetItemViewAt(0); | 782 AppListItemView* item_view = GetItemViewAt(0); |
792 ASSERT_TRUE(item_view); | 783 ASSERT_TRUE(item_view); |
793 const views::Label* title_label = item_view->title(); | 784 const views::Label* title_label = item_view->title(); |
794 EXPECT_FALSE(title_label->GetTooltipText( | 785 EXPECT_FALSE(title_label->GetTooltipText( |
795 title_label->bounds().CenterPoint(), &actual_tooltip)); | 786 title_label->bounds().CenterPoint(), &actual_tooltip)); |
796 EXPECT_EQ(title, base::UTF16ToUTF8(title_label->text())); | 787 EXPECT_EQ(title, base::UTF16ToUTF8(title_label->text())); |
797 } | 788 } |
798 | 789 |
799 } // namespace test | 790 } // namespace test |
800 } // namespace app_list | 791 } // namespace app_list |
OLD | NEW |