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

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

Issue 316393002: App list uses PaginationModel to transition between pages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. 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
« no previous file with comments | « ui/app_list/pagination_model.cc ('k') | ui/app_list/views/contents_view.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/app_list_view.h" 5 #include "ui/app_list/views/app_list_view.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 // top level views. Then closes the window. 71 // top level views. Then closes the window.
72 void RunDisplayTest(); 72 void RunDisplayTest();
73 73
74 // Hides and reshows the app list with a folder open, expecting the main grid 74 // Hides and reshows the app list with a folder open, expecting the main grid
75 // view to be shown. 75 // view to be shown.
76 void RunReshowWithOpenFolderTest(); 76 void RunReshowWithOpenFolderTest();
77 77
78 // Tests displaying of the experimental app list and shows the start page. 78 // Tests displaying of the experimental app list and shows the start page.
79 void RunStartPageTest(); 79 void RunStartPageTest();
80 80
81 // Tests switching rapidly between multiple pages of the launcher.
82 void RunPageSwitchingAnimationTest();
83
81 // Tests changing the App List profile. 84 // Tests changing the App List profile.
82 void RunProfileChangeTest(); 85 void RunProfileChangeTest();
83 86
84 // Tests displaying of the search results. 87 // Tests displaying of the search results.
85 void RunSearchResultsTest(); 88 void RunSearchResultsTest();
86 89
87 // A standard set of checks on a view, e.g., ensuring it is drawn and visible. 90 // A standard set of checks on a view, e.g., ensuring it is drawn and visible.
88 static void CheckView(views::View* subview); 91 static void CheckView(views::View* subview);
89 92
90 // Invoked when the Widget is closing, and the view it contains is about to 93 // Invoked when the Widget is closing, and the view it contains is about to
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 EXPECT_EQ(4u, GetVisibleTileItemViews(start_page_view->tile_views())); 312 EXPECT_EQ(4u, GetVisibleTileItemViews(start_page_view->tile_views()));
310 model->DeleteItem(model->GetItemName(0)); 313 model->DeleteItem(model->GetItemName(0));
311 EXPECT_EQ(3u, GetVisibleTileItemViews(start_page_view->tile_views())); 314 EXPECT_EQ(3u, GetVisibleTileItemViews(start_page_view->tile_views()));
312 } else { 315 } else {
313 EXPECT_EQ(NULL, start_page_view); 316 EXPECT_EQ(NULL, start_page_view);
314 } 317 }
315 318
316 Close(); 319 Close();
317 } 320 }
318 321
322 void AppListViewTestContext::RunPageSwitchingAnimationTest() {
323 if (test_type_ == EXPERIMENTAL) {
324 Show();
325
326 AppListMainView* main_view = view_->app_list_main_view();
327 // Checks on the main view.
328 EXPECT_NO_FATAL_FAILURE(CheckView(main_view));
329 EXPECT_NO_FATAL_FAILURE(CheckView(main_view->contents_view()));
330
331 ContentsView* contents_view = main_view->contents_view();
332 // Pad the ContentsView with blank pages so we have at least 3 views.
333 while (contents_view->NumLauncherPages() < 3)
334 contents_view->AddBlankPageForTesting();
335
336 contents_view->SetActivePage(0);
337 contents_view->Layout();
338 EXPECT_TRUE(IsViewAtOrigin(contents_view->GetPageView(0)));
339 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(1)));
340 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(2)));
341
342 // Change pages. View should not have moved without Layout().
343 contents_view->SetActivePage(1);
344 EXPECT_TRUE(IsViewAtOrigin(contents_view->GetPageView(0)));
345 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(1)));
346 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(2)));
347
348 // Change to a third page. This queues up the second animation behind the
349 // first.
350 contents_view->SetActivePage(2);
351 EXPECT_TRUE(IsViewAtOrigin(contents_view->GetPageView(0)));
352 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(1)));
353 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(2)));
354
355 // Call Layout(). Should jump to the third page.
356 contents_view->Layout();
357 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(0)));
358 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(1)));
359 EXPECT_TRUE(IsViewAtOrigin(contents_view->GetPageView(2)));
360 }
361
362 Close();
363 }
364
319 void AppListViewTestContext::RunProfileChangeTest() { 365 void AppListViewTestContext::RunProfileChangeTest() {
320 EXPECT_FALSE(view_->GetWidget()->IsVisible()); 366 EXPECT_FALSE(view_->GetWidget()->IsVisible());
321 EXPECT_EQ(-1, GetPaginationModel()->total_pages()); 367 EXPECT_EQ(-1, GetPaginationModel()->total_pages());
322 delegate_->GetTestModel()->PopulateApps(kInitialItems); 368 delegate_->GetTestModel()->PopulateApps(kInitialItems);
323 369
324 Show(); 370 Show();
325 371
326 if (is_landscape()) 372 if (is_landscape())
327 EXPECT_EQ(2, GetPaginationModel()->total_pages()); 373 EXPECT_EQ(2, GetPaginationModel()->total_pages());
328 else 374 else
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 568
523 // Tests that the start page view operates correctly. 569 // Tests that the start page view operates correctly.
524 TEST_P(AppListViewTestAura, StartPageTest) { 570 TEST_P(AppListViewTestAura, StartPageTest) {
525 EXPECT_NO_FATAL_FAILURE(test_context_->RunStartPageTest()); 571 EXPECT_NO_FATAL_FAILURE(test_context_->RunStartPageTest());
526 } 572 }
527 573
528 TEST_P(AppListViewTestDesktop, StartPageTest) { 574 TEST_P(AppListViewTestDesktop, StartPageTest) {
529 EXPECT_NO_FATAL_FAILURE(test_context_->RunStartPageTest()); 575 EXPECT_NO_FATAL_FAILURE(test_context_->RunStartPageTest());
530 } 576 }
531 577
578 // Tests that the start page view operates correctly.
579 TEST_P(AppListViewTestAura, PageSwitchingAnimationTest) {
580 EXPECT_NO_FATAL_FAILURE(test_context_->RunPageSwitchingAnimationTest());
581 }
582
583 TEST_P(AppListViewTestDesktop, PageSwitchingAnimationTest) {
584 EXPECT_NO_FATAL_FAILURE(test_context_->RunPageSwitchingAnimationTest());
585 }
586
532 // Tests that the profile changes operate correctly. 587 // Tests that the profile changes operate correctly.
533 TEST_P(AppListViewTestAura, ProfileChangeTest) { 588 TEST_P(AppListViewTestAura, ProfileChangeTest) {
534 EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest()); 589 EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest());
535 } 590 }
536 591
537 TEST_P(AppListViewTestDesktop, ProfileChangeTest) { 592 TEST_P(AppListViewTestDesktop, ProfileChangeTest) {
538 EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest()); 593 EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest());
539 } 594 }
540 595
541 // Tests that the correct views are displayed for showing search results. 596 // Tests that the correct views are displayed for showing search results.
542 TEST_P(AppListViewTestAura, SearchResultsTest) { 597 TEST_P(AppListViewTestAura, SearchResultsTest) {
543 EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest()); 598 EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest());
544 } 599 }
545 600
546 TEST_P(AppListViewTestDesktop, SearchResultsTest) { 601 TEST_P(AppListViewTestDesktop, SearchResultsTest) {
547 EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest()); 602 EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest());
548 } 603 }
549 604
550 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance, 605 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance,
551 AppListViewTestAura, 606 AppListViewTestAura,
552 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 607 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
553 608
554 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance, 609 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance,
555 AppListViewTestDesktop, 610 AppListViewTestDesktop,
556 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 611 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
557 612
558 } // namespace test 613 } // namespace test
559 } // namespace app_list 614 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/pagination_model.cc ('k') | ui/app_list/views/contents_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698