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/shelf/shelf_view.h" | 5 #include "ash/shelf/shelf_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
11 #include "ash/launcher/launcher.h" | 11 #include "ash/launcher/launcher.h" |
12 #include "ash/launcher/launcher_button.h" | 12 #include "ash/launcher/launcher_button.h" |
13 #include "ash/launcher/launcher_item_delegate_manager.h" | 13 #include "ash/launcher/launcher_item_delegate_manager.h" |
14 #include "ash/launcher/launcher_model.h" | |
15 #include "ash/launcher/launcher_types.h" | 14 #include "ash/launcher/launcher_types.h" |
16 #include "ash/root_window_controller.h" | 15 #include "ash/root_window_controller.h" |
17 #include "ash/shelf/overflow_bubble.h" | 16 #include "ash/shelf/overflow_bubble.h" |
18 #include "ash/shelf/shelf_icon_observer.h" | 17 #include "ash/shelf/shelf_icon_observer.h" |
19 #include "ash/shelf/shelf_layout_manager.h" | 18 #include "ash/shelf/shelf_layout_manager.h" |
| 19 #include "ash/shelf/shelf_model.h" |
20 #include "ash/shelf/shelf_tooltip_manager.h" | 20 #include "ash/shelf/shelf_tooltip_manager.h" |
21 #include "ash/shelf/shelf_widget.h" | 21 #include "ash/shelf/shelf_widget.h" |
22 #include "ash/shell.h" | 22 #include "ash/shell.h" |
23 #include "ash/shell_window_ids.h" | 23 #include "ash/shell_window_ids.h" |
24 #include "ash/test/ash_test_base.h" | 24 #include "ash/test/ash_test_base.h" |
25 #include "ash/test/launcher_test_api.h" | 25 #include "ash/test/launcher_test_api.h" |
26 #include "ash/test/shelf_view_test_api.h" | 26 #include "ash/test/shelf_view_test_api.h" |
27 #include "ash/test/shell_test_api.h" | 27 #include "ash/test/shell_test_api.h" |
28 #include "ash/test/test_launcher_delegate.h" | 28 #include "ash/test/test_launcher_delegate.h" |
29 #include "ash/test/test_launcher_item_delegate.h" | 29 #include "ash/test/test_launcher_item_delegate.h" |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 } | 195 } |
196 | 196 |
197 //////////////////////////////////////////////////////////////////////////////// | 197 //////////////////////////////////////////////////////////////////////////////// |
198 // ShelfView tests. | 198 // ShelfView tests. |
199 | 199 |
200 // LauncherItemDelegate for ShelfViewTest.OverflowBubbleSize only. | 200 // LauncherItemDelegate for ShelfViewTest.OverflowBubbleSize only. |
201 // To test ripping off an item in OverflowBubbleSize, all item should be | 201 // To test ripping off an item in OverflowBubbleSize, all item should be |
202 // pinned. | 202 // pinned. |
203 class TestLauncherDelegateForShelfView : public TestLauncherDelegate { | 203 class TestLauncherDelegateForShelfView : public TestLauncherDelegate { |
204 public: | 204 public: |
205 explicit TestLauncherDelegateForShelfView(LauncherModel* model) | 205 explicit TestLauncherDelegateForShelfView(ShelfModel* model) |
206 : TestLauncherDelegate(model) {} | 206 : TestLauncherDelegate(model) {} |
207 virtual ~TestLauncherDelegateForShelfView() {} | 207 virtual ~TestLauncherDelegateForShelfView() {} |
208 | 208 |
209 // TestLauncherDelegate overrides: | 209 // TestLauncherDelegate overrides: |
210 virtual bool IsAppPinned(const std::string& app_id) OVERRIDE { | 210 virtual bool IsAppPinned(const std::string& app_id) OVERRIDE { |
211 // Returns true for ShelfViewTest.OverflowBubbleSize. To test ripping off in | 211 // Returns true for ShelfViewTest.OverflowBubbleSize. To test ripping off in |
212 // that test, an item is already pinned state. | 212 // that test, an item is already pinned state. |
213 return true; | 213 return true; |
214 } | 214 } |
215 | 215 |
216 private: | 216 private: |
217 DISALLOW_COPY_AND_ASSIGN(TestLauncherDelegateForShelfView); | 217 DISALLOW_COPY_AND_ASSIGN(TestLauncherDelegateForShelfView); |
218 }; | 218 }; |
219 | 219 |
220 class ShelfViewTest : public AshTestBase { | 220 class ShelfViewTest : public AshTestBase { |
221 public: | 221 public: |
222 ShelfViewTest() : model_(NULL), shelf_view_(NULL), browser_index_(1) {} | 222 ShelfViewTest() : model_(NULL), shelf_view_(NULL), browser_index_(1) {} |
223 virtual ~ShelfViewTest() {} | 223 virtual ~ShelfViewTest() {} |
224 | 224 |
225 virtual void SetUp() OVERRIDE { | 225 virtual void SetUp() OVERRIDE { |
226 AshTestBase::SetUp(); | 226 AshTestBase::SetUp(); |
227 test::ShellTestApi test_api(Shell::GetInstance()); | 227 test::ShellTestApi test_api(Shell::GetInstance()); |
228 model_ = test_api.launcher_model(); | 228 model_ = test_api.shelf_model(); |
229 Launcher* launcher = Launcher::ForPrimaryDisplay(); | 229 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
230 shelf_view_ = test::LauncherTestAPI(launcher).shelf_view(); | 230 shelf_view_ = test::LauncherTestAPI(launcher).shelf_view(); |
231 | 231 |
232 // The bounds should be big enough for 4 buttons + overflow chevron. | 232 // The bounds should be big enough for 4 buttons + overflow chevron. |
233 shelf_view_->SetBounds(0, 0, 500, | 233 shelf_view_->SetBounds(0, 0, 500, |
234 internal::ShelfLayoutManager::GetPreferredShelfSize()); | 234 internal::ShelfLayoutManager::GetPreferredShelfSize()); |
235 | 235 |
236 test_api_.reset(new ShelfViewTestAPI(shelf_view_)); | 236 test_api_.reset(new ShelfViewTestAPI(shelf_view_)); |
237 test_api_->SetAnimationDuration(1); // Speeds up animation for test. | 237 test_api_->SetAnimationDuration(1); // Speeds up animation for test. |
238 | 238 |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 } | 414 } |
415 | 415 |
416 views::View* GetTooltipAnchorView() { | 416 views::View* GetTooltipAnchorView() { |
417 return shelf_view_->tooltip_manager()->anchor_; | 417 return shelf_view_->tooltip_manager()->anchor_; |
418 } | 418 } |
419 | 419 |
420 void ShowTooltip() { | 420 void ShowTooltip() { |
421 shelf_view_->tooltip_manager()->ShowInternal(); | 421 shelf_view_->tooltip_manager()->ShowInternal(); |
422 } | 422 } |
423 | 423 |
424 LauncherModel* model_; | 424 ShelfModel* model_; |
425 internal::ShelfView* shelf_view_; | 425 internal::ShelfView* shelf_view_; |
426 int browser_index_; | 426 int browser_index_; |
427 LauncherItemDelegateManager* item_manager_; | 427 LauncherItemDelegateManager* item_manager_; |
428 | 428 |
429 scoped_ptr<ShelfViewTestAPI> test_api_; | 429 scoped_ptr<ShelfViewTestAPI> test_api_; |
430 | 430 |
431 private: | 431 private: |
432 DISALLOW_COPY_AND_ASSIGN(ShelfViewTest); | 432 DISALLOW_COPY_AND_ASSIGN(ShelfViewTest); |
433 }; | 433 }; |
434 | 434 |
(...skipping 1019 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1454 test_api_->RunMessageLoopUntilAnimationsDone(); | 1454 test_api_->RunMessageLoopUntilAnimationsDone(); |
1455 CheckAllItemsAreInBounds(); | 1455 CheckAllItemsAreInBounds(); |
1456 } | 1456 } |
1457 | 1457 |
1458 INSTANTIATE_TEST_CASE_P(LtrRtl, ShelfViewTextDirectionTest, testing::Bool()); | 1458 INSTANTIATE_TEST_CASE_P(LtrRtl, ShelfViewTextDirectionTest, testing::Bool()); |
1459 INSTANTIATE_TEST_CASE_P(VisibleBounds, ShelfViewVisibleBoundsTest, | 1459 INSTANTIATE_TEST_CASE_P(VisibleBounds, ShelfViewVisibleBoundsTest, |
1460 testing::Bool()); | 1460 testing::Bool()); |
1461 | 1461 |
1462 } // namespace test | 1462 } // namespace test |
1463 } // namespace ash | 1463 } // namespace ash |
OLD | NEW |