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

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

Issue 12701022: wrongbaseurl OSX App List Pager and root view controller. (Closed) Base URL: http://git.chromium.org/chromium/src.git@20130304-crbug-138633-osx-app-list-demo-polish-macbook
Patch Set: delegate should be owned by viewcontroller, test coverage Created 7 years, 9 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
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "base/memory/scoped_nsobject.h"
6 #import "testing/gtest_mac.h"
7 #import "ui/app_list/cocoa/app_list_view_controller.h"
8 #import "ui/app_list/cocoa/apps_grid_controller.h"
9 #import "ui/app_list/cocoa/test/apps_grid_controller_test_helper.h"
10 #include "ui/app_list/test/app_list_test_model.h"
11 #include "ui/app_list/test/app_list_test_view_delegate.h"
12
13 namespace app_list {
14 namespace test {
15
16 class AppListViewControllerTest : public AppsGridControllerTestHelper {
17 public:
18 AppListViewControllerTest() {}
19
20 virtual void SetUp() OVERRIDE {
21 app_list_view_controller_.reset([[AppListViewController alloc] init]);
22 [app_list_view_controller_ setDelegate:
23 delegate_.PassAs<AppListViewDelegate>()];
24 AppsGridControllerTestHelper::SetUpWithGridController(
25 [app_list_view_controller_ appsGridController]);
26
27 [[test_window() contentView] addSubview:[app_list_view_controller_ view]];
28 }
29
30 virtual void TearDown() OVERRIDE {
31 app_list_view_controller_.reset();
32 AppsGridControllerTestHelper::TearDown();
33 }
34
35 protected:
36 scoped_nsobject<AppListViewController> app_list_view_controller_;
37
38 private:
39 DISALLOW_COPY_AND_ASSIGN(AppListViewControllerTest);
40 };
41
42 TEST_VIEW(AppListViewControllerTest, [app_list_view_controller_ view]);
43
44 // Test that adding and removing pages updates the pager.
45 TEST_F(AppListViewControllerTest, PagerSegmentCounts) {
46 NSSegmentedControl* pager = [app_list_view_controller_ pagerControl];
47 EXPECT_EQ(1, [pager segmentCount]);
48
49 ReplaceTestModel(kItemsPerPage * 2);
50 EXPECT_EQ(2, [pager segmentCount]);
51 model()->PopulateApps(1);
52 EXPECT_EQ(3, [pager segmentCount]);
53
54 ReplaceTestModel(1);
55 EXPECT_EQ(1, [pager segmentCount]);
56 }
57
58 // Test that clicking the pager changes pages.
59 TEST_F(AppListViewControllerTest, PagerChangingPage) {
60 [AppsGridController setScrollAnimationDuration:0.0];
61 NSSegmentedControl* pager = [app_list_view_controller_ pagerControl];
62 ReplaceTestModel(kItemsPerPage * 3);
63 EXPECT_EQ(3, [pager segmentCount]);
64
65 EXPECT_EQ(0, [pager selectedSegment]);
66 EXPECT_EQ(0u, [apps_grid_controller_ visiblePage]);
67
68 // Click in the center of the pager to navigate to the second page.
69 SimulateClick(pager);
70 SinkEvents();
71
72 EXPECT_EQ(1u, [apps_grid_controller_ visiblePage]);
73 EXPECT_EQ(1, [pager selectedSegment]);
74
75 // Replace with a single page model, and ensure we go back to the first page.
76 ReplaceTestModel(1);
77 EXPECT_EQ(0u, [apps_grid_controller_ visiblePage]);
78 EXPECT_EQ(0, [pager selectedSegment]);
79 EXPECT_EQ(1, [pager segmentCount]);
80 }
81
82 } // namespace test
83 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/cocoa/app_list_view_controller.mm ('k') | ui/app_list/cocoa/app_list_window_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698