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

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: Fixed tests -- adds blank pages so we have 3 pages in the test environment. 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 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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 // top level views. Then closes the window. 70 // top level views. Then closes the window.
71 void RunDisplayTest(); 71 void RunDisplayTest();
72 72
73 // Hides and reshows the app list with a folder open, expecting the main grid 73 // Hides and reshows the app list with a folder open, expecting the main grid
74 // view to be shown. 74 // view to be shown.
75 void RunReshowWithOpenFolderTest(); 75 void RunReshowWithOpenFolderTest();
76 76
77 // Tests displaying of the experimental app list and shows the start page. 77 // Tests displaying of the experimental app list and shows the start page.
78 void RunStartPageTest(); 78 void RunStartPageTest();
79 79
80 // Tests switching rapidly between multiple pages of the launcher.
81 void RunPageSwitchingAnimationTest();
82
80 // Tests changing the App List profile. 83 // Tests changing the App List profile.
81 void RunProfileChangeTest(); 84 void RunProfileChangeTest();
82 85
83 // Tests displaying of the search results. 86 // Tests displaying of the search results.
84 void RunSearchResultsTest(); 87 void RunSearchResultsTest();
85 88
86 // A standard set of checks on a view, e.g., ensuring it is drawn and visible. 89 // A standard set of checks on a view, e.g., ensuring it is drawn and visible.
87 static void CheckView(views::View* subview); 90 static void CheckView(views::View* subview);
88 91
89 // Invoked when the Widget is closing, and the view it contains is about to 92 // 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
308 EXPECT_EQ(4u, GetVisibleTileItemViews(start_page_view->tile_views())); 311 EXPECT_EQ(4u, GetVisibleTileItemViews(start_page_view->tile_views()));
309 model->DeleteItem(model->GetItemName(0)); 312 model->DeleteItem(model->GetItemName(0));
310 EXPECT_EQ(3u, GetVisibleTileItemViews(start_page_view->tile_views())); 313 EXPECT_EQ(3u, GetVisibleTileItemViews(start_page_view->tile_views()));
311 } else { 314 } else {
312 EXPECT_EQ(NULL, start_page_view); 315 EXPECT_EQ(NULL, start_page_view);
313 } 316 }
314 317
315 Close(); 318 Close();
316 } 319 }
317 320
321 void AppListViewTestContext::RunPageSwitchingAnimationTest() {
322 if (test_type_ == EXPERIMENTAL) {
323 Show();
324
325 AppListMainView* main_view = view_->app_list_main_view();
326 // Checks on the main view.
327 EXPECT_NO_FATAL_FAILURE(CheckView(main_view));
328 EXPECT_NO_FATAL_FAILURE(CheckView(main_view->contents_view()));
329
330 ContentsView* contents_view = main_view->contents_view();
331 // Pad the ContentsView with blank pages so we have at least 3 views.
332 while (contents_view->NumLauncherPages() < 3)
333 contents_view->AddBlankPageForTesting();
334
335 contents_view->SetActivePage(0);
336 contents_view->Layout();
337 EXPECT_TRUE(IsViewAtOrigin(contents_view->GetPageView(0)));
338 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(1)));
339 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(2)));
340
341 // Change pages. View should not have moved without Layout().
342 contents_view->SetActivePage(1);
343 EXPECT_TRUE(IsViewAtOrigin(contents_view->GetPageView(0)));
344 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(1)));
345 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(2)));
346
347 // Change to a third page. This queues up the second animation behind the
348 // first.
349 contents_view->SetActivePage(2);
350 EXPECT_TRUE(IsViewAtOrigin(contents_view->GetPageView(0)));
351 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(1)));
352 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(2)));
353
354 // Call Layout(). Should jump to the third page.
355 contents_view->Layout();
356 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(0)));
357 EXPECT_FALSE(IsViewAtOrigin(contents_view->GetPageView(1)));
358 EXPECT_TRUE(IsViewAtOrigin(contents_view->GetPageView(2)));
359 }
360
361 Close();
362 }
363
318 void AppListViewTestContext::RunProfileChangeTest() { 364 void AppListViewTestContext::RunProfileChangeTest() {
319 EXPECT_FALSE(view_->GetWidget()->IsVisible()); 365 EXPECT_FALSE(view_->GetWidget()->IsVisible());
320 EXPECT_EQ(-1, GetPaginationModel()->total_pages()); 366 EXPECT_EQ(-1, GetPaginationModel()->total_pages());
321 delegate_->GetTestModel()->PopulateApps(kInitialItems); 367 delegate_->GetTestModel()->PopulateApps(kInitialItems);
322 368
323 Show(); 369 Show();
324 370
325 if (is_landscape()) 371 if (is_landscape())
326 EXPECT_EQ(2, GetPaginationModel()->total_pages()); 372 EXPECT_EQ(2, GetPaginationModel()->total_pages());
327 else 373 else
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 561
516 // Tests that the start page view operates correctly. 562 // Tests that the start page view operates correctly.
517 TEST_P(AppListViewTestAura, StartPageTest) { 563 TEST_P(AppListViewTestAura, StartPageTest) {
518 EXPECT_NO_FATAL_FAILURE(test_context_->RunStartPageTest()); 564 EXPECT_NO_FATAL_FAILURE(test_context_->RunStartPageTest());
519 } 565 }
520 566
521 TEST_P(AppListViewTestDesktop, StartPageTest) { 567 TEST_P(AppListViewTestDesktop, StartPageTest) {
522 EXPECT_NO_FATAL_FAILURE(test_context_->RunStartPageTest()); 568 EXPECT_NO_FATAL_FAILURE(test_context_->RunStartPageTest());
523 } 569 }
524 570
571 // Tests that the start page view operates correctly.
572 TEST_P(AppListViewTestAura, PageSwitchingAnimationTest) {
573 EXPECT_NO_FATAL_FAILURE(test_context_->RunPageSwitchingAnimationTest());
574 }
575
576 TEST_P(AppListViewTestDesktop, PageSwitchingAnimationTest) {
577 EXPECT_NO_FATAL_FAILURE(test_context_->RunPageSwitchingAnimationTest());
578 }
579
525 // Tests that the profile changes operate correctly. 580 // Tests that the profile changes operate correctly.
526 TEST_P(AppListViewTestAura, ProfileChangeTest) { 581 TEST_P(AppListViewTestAura, ProfileChangeTest) {
527 EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest()); 582 EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest());
528 } 583 }
529 584
530 TEST_P(AppListViewTestDesktop, ProfileChangeTest) { 585 TEST_P(AppListViewTestDesktop, ProfileChangeTest) {
531 EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest()); 586 EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest());
532 } 587 }
533 588
534 // Tests that the correct views are displayed for showing search results. 589 // Tests that the correct views are displayed for showing search results.
535 TEST_P(AppListViewTestAura, SearchResultsTest) { 590 TEST_P(AppListViewTestAura, SearchResultsTest) {
536 EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest()); 591 EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest());
537 } 592 }
538 593
539 TEST_P(AppListViewTestDesktop, SearchResultsTest) { 594 TEST_P(AppListViewTestDesktop, SearchResultsTest) {
540 EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest()); 595 EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest());
541 } 596 }
542 597
543 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance, 598 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance,
544 AppListViewTestAura, 599 AppListViewTestAura,
545 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 600 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
546 601
547 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance, 602 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance,
548 AppListViewTestDesktop, 603 AppListViewTestDesktop,
549 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 604 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
550 605
551 } // namespace test 606 } // namespace test
552 } // namespace app_list 607 } // namespace app_list
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698