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

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

Issue 889403005: Make start page fill app list bounds. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@new_apps_grid_paddings
Patch Set: address_comment Created 5 years, 10 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
« no previous file with comments | « no previous file | ui/app_list/views/contents_animator.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 <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 contents_view->Layout(); 239 contents_view->Layout();
240 return IsStateShown(state); 240 return IsStateShown(state);
241 } 241 }
242 242
243 bool AppListViewTestContext::IsStateShown(AppListModel::State state) { 243 bool AppListViewTestContext::IsStateShown(AppListModel::State state) {
244 ContentsView* contents_view = view_->app_list_main_view()->contents_view(); 244 ContentsView* contents_view = view_->app_list_main_view()->contents_view();
245 int index = contents_view->GetPageIndexForState(state); 245 int index = contents_view->GetPageIndexForState(state);
246 bool success = true; 246 bool success = true;
247 for (int i = 0; i < contents_view->NumLauncherPages(); ++i) { 247 for (int i = 0; i < contents_view->NumLauncherPages(); ++i) {
248 success = success && 248 success = success &&
249 (i == index) == (contents_view->GetDefaultContentsBounds() == 249 (i == index) == (contents_view->GetOnscreenPageBounds(i) ==
250 contents_view->GetPageView(i)->bounds()); 250 contents_view->GetPageView(i)->bounds());
251 } 251 }
252 return success && state == delegate_->GetTestModel()->state(); 252 return success && state == delegate_->GetTestModel()->state();
253 } 253 }
254 254
255 void AppListViewTestContext::Show() { 255 void AppListViewTestContext::Show() {
256 view_->GetWidget()->Show(); 256 view_->GetWidget()->Show();
257 run_loop_.reset(new base::RunLoop); 257 run_loop_.reset(new base::RunLoop);
258 view_->SetNextPaintCallback(run_loop_->QuitClosure()); 258 view_->SetNextPaintCallback(run_loop_->QuitClosure());
259 run_loop_->Run(); 259 run_loop_->Run();
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 EXPECT_NO_FATAL_FAILURE(CheckView(main_view->contents_view())); 500 EXPECT_NO_FATAL_FAILURE(CheckView(main_view->contents_view()));
501 501
502 ContentsView* contents_view = main_view->contents_view(); 502 ContentsView* contents_view = main_view->contents_view();
503 // Pad the ContentsView with blank pages so we have at least 3 views. 503 // Pad the ContentsView with blank pages so we have at least 3 views.
504 while (contents_view->NumLauncherPages() < 3) 504 while (contents_view->NumLauncherPages() < 3)
505 contents_view->AddBlankPageForTesting(); 505 contents_view->AddBlankPageForTesting();
506 506
507 contents_view->SetActivePage(0); 507 contents_view->SetActivePage(0);
508 contents_view->Layout(); 508 contents_view->Layout();
509 509
510 const gfx::Rect expected_bounds = contents_view->GetDefaultContentsBounds(); 510 EXPECT_EQ(contents_view->GetOnscreenPageBounds(0),
511 511 contents_view->GetPageView(0)->bounds());
512 EXPECT_EQ(expected_bounds, contents_view->GetPageView(0)->bounds()); 512 EXPECT_NE(contents_view->GetOnscreenPageBounds(1),
513 EXPECT_NE(expected_bounds, contents_view->GetPageView(1)->bounds()); 513 contents_view->GetPageView(1)->bounds());
514 EXPECT_NE(expected_bounds, contents_view->GetPageView(2)->bounds()); 514 EXPECT_NE(contents_view->GetOnscreenPageBounds(2),
515 contents_view->GetPageView(2)->bounds());
515 516
516 // Change pages. View should not have moved without Layout(). 517 // Change pages. View should not have moved without Layout().
517 contents_view->SetActivePage(1); 518 contents_view->SetActivePage(1);
518 EXPECT_EQ(expected_bounds, contents_view->GetPageView(0)->bounds()); 519 EXPECT_EQ(contents_view->GetOnscreenPageBounds(0),
519 EXPECT_NE(expected_bounds, contents_view->GetPageView(1)->bounds()); 520 contents_view->GetPageView(0)->bounds());
520 EXPECT_NE(expected_bounds, contents_view->GetPageView(2)->bounds()); 521 EXPECT_NE(contents_view->GetOnscreenPageBounds(1),
522 contents_view->GetPageView(1)->bounds());
523 EXPECT_NE(contents_view->GetOnscreenPageBounds(2),
524 contents_view->GetPageView(2)->bounds());
521 525
522 // Change to a third page. This queues up the second animation behind the 526 // Change to a third page. This queues up the second animation behind the
523 // first. 527 // first.
524 contents_view->SetActivePage(2); 528 contents_view->SetActivePage(2);
525 EXPECT_EQ(expected_bounds, contents_view->GetPageView(0)->bounds()); 529 EXPECT_EQ(contents_view->GetOnscreenPageBounds(0),
526 EXPECT_NE(expected_bounds, contents_view->GetPageView(1)->bounds()); 530 contents_view->GetPageView(0)->bounds());
527 EXPECT_NE(expected_bounds, contents_view->GetPageView(2)->bounds()); 531 EXPECT_NE(contents_view->GetOnscreenPageBounds(1),
532 contents_view->GetPageView(1)->bounds());
533 EXPECT_NE(contents_view->GetOnscreenPageBounds(2),
534 contents_view->GetPageView(2)->bounds());
528 535
529 // Call Layout(). Should jump to the third page. 536 // Call Layout(). Should jump to the third page.
530 contents_view->Layout(); 537 contents_view->Layout();
531 EXPECT_NE(expected_bounds, contents_view->GetPageView(0)->bounds()); 538 EXPECT_NE(contents_view->GetOnscreenPageBounds(0),
532 EXPECT_NE(expected_bounds, contents_view->GetPageView(1)->bounds()); 539 contents_view->GetPageView(0)->bounds());
533 EXPECT_EQ(expected_bounds, contents_view->GetPageView(2)->bounds()); 540 EXPECT_NE(contents_view->GetOnscreenPageBounds(1),
541 contents_view->GetPageView(1)->bounds());
542 EXPECT_EQ(contents_view->GetOnscreenPageBounds(2),
543 contents_view->GetPageView(2)->bounds());
534 } 544 }
535 545
536 Close(); 546 Close();
537 } 547 }
538 548
539 void AppListViewTestContext::RunProfileChangeTest() { 549 void AppListViewTestContext::RunProfileChangeTest() {
540 EXPECT_FALSE(view_->GetWidget()->IsVisible()); 550 EXPECT_FALSE(view_->GetWidget()->IsVisible());
541 EXPECT_EQ(-1, GetPaginationModel()->total_pages()); 551 EXPECT_EQ(-1, GetPaginationModel()->total_pages());
542 delegate_->GetTestModel()->PopulateApps(kInitialItems); 552 delegate_->GetTestModel()->PopulateApps(kInitialItems);
543 553
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 603
594 AppListMainView* main_view = view_->app_list_main_view(); 604 AppListMainView* main_view = view_->app_list_main_view();
595 ContentsView* contents_view = main_view->contents_view(); 605 ContentsView* contents_view = main_view->contents_view();
596 EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS)); 606 EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS));
597 607
598 // Show the search results. 608 // Show the search results.
599 contents_view->ShowSearchResults(true); 609 contents_view->ShowSearchResults(true);
600 contents_view->Layout(); 610 contents_view->Layout();
601 EXPECT_TRUE(contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); 611 EXPECT_TRUE(contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS));
602 612
603 const gfx::Rect default_contents_bounds = 613 EXPECT_TRUE(IsStateShown(AppListModel::STATE_SEARCH_RESULTS));
604 contents_view->GetDefaultContentsBounds();
605 EXPECT_EQ(AppListModel::STATE_SEARCH_RESULTS,
606 delegate_->GetTestModel()->state());
607 EXPECT_EQ(default_contents_bounds,
608 contents_view->search_results_page_view()->bounds());
609 614
610 // Hide the search results. 615 // Hide the search results.
611 contents_view->ShowSearchResults(false); 616 contents_view->ShowSearchResults(false);
612 contents_view->Layout(); 617 contents_view->Layout();
613 618
614 // Check that we return to the page that we were on before the search. 619 // Check that we return to the page that we were on before the search.
615 EXPECT_TRUE(contents_view->IsStateActive(AppListModel::STATE_APPS)); 620 EXPECT_TRUE(IsStateShown(AppListModel::STATE_APPS));
616 EXPECT_EQ(AppListModel::STATE_APPS, delegate_->GetTestModel()->state());
617 EXPECT_EQ(default_contents_bounds,
618 contents_view->apps_container_view()->bounds());
619 621
620 if (test_type_ == EXPERIMENTAL) { 622 if (test_type_ == EXPERIMENTAL) {
621 // Check that typing into the search box triggers the search page. 623 // Check that typing into the search box triggers the search page.
622 EXPECT_TRUE(SetAppListState(AppListModel::STATE_START)); 624 EXPECT_TRUE(SetAppListState(AppListModel::STATE_START));
623 view_->Layout(); 625 view_->Layout();
624 EXPECT_EQ(default_contents_bounds, 626 EXPECT_TRUE(IsStateShown(AppListModel::STATE_START));
625 contents_view->start_page_view()->bounds());
626 EXPECT_TRUE(CheckSearchBoxWidget(
627 contents_view->GetSearchBoxBoundsForState(AppListModel::STATE_START)));
628 627
629 base::string16 search_text = base::UTF8ToUTF16("test"); 628 base::string16 search_text = base::UTF8ToUTF16("test");
630 main_view->search_box_view()->search_box()->SetText(base::string16()); 629 main_view->search_box_view()->search_box()->SetText(base::string16());
631 main_view->search_box_view()->search_box()->InsertText(search_text); 630 main_view->search_box_view()->search_box()->InsertText(search_text);
632 // Check that the current search is using |search_text|. 631 // Check that the current search is using |search_text|.
633 EXPECT_EQ(search_text, delegate_->GetTestModel()->search_box()->text()); 632 EXPECT_EQ(search_text, delegate_->GetTestModel()->search_box()->text());
634 EXPECT_EQ(search_text, main_view->search_box_view()->search_box()->text()); 633 EXPECT_EQ(search_text, main_view->search_box_view()->search_box()->text());
635 contents_view->Layout(); 634 contents_view->Layout();
636 EXPECT_TRUE( 635 EXPECT_TRUE(
637 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); 636 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS));
638 EXPECT_TRUE( 637 EXPECT_TRUE(
639 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds())); 638 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
640 639
641 // Check that typing into the search box triggers the search page. 640 // Check that typing into the search box triggers the search page.
642 EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS)); 641 EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS));
643 contents_view->Layout(); 642 contents_view->Layout();
644 EXPECT_EQ(default_contents_bounds, 643 EXPECT_TRUE(IsStateShown(AppListModel::STATE_APPS));
645 contents_view->apps_container_view()->bounds());
646 EXPECT_TRUE( 644 EXPECT_TRUE(
647 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds())); 645 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
648 646
649 base::string16 new_search_text = base::UTF8ToUTF16("apple"); 647 base::string16 new_search_text = base::UTF8ToUTF16("apple");
650 main_view->search_box_view()->search_box()->SetText(base::string16()); 648 main_view->search_box_view()->search_box()->SetText(base::string16());
651 main_view->search_box_view()->search_box()->InsertText(new_search_text); 649 main_view->search_box_view()->search_box()->InsertText(new_search_text);
652 // Check that the current search is using |new_search_text|. 650 // Check that the current search is using |new_search_text|.
653 EXPECT_EQ(new_search_text, delegate_->GetTestModel()->search_box()->text()); 651 EXPECT_EQ(new_search_text, delegate_->GetTestModel()->search_box()->text());
654 EXPECT_EQ(new_search_text, 652 EXPECT_EQ(new_search_text,
655 main_view->search_box_view()->search_box()->text()); 653 main_view->search_box_view()->search_box()->text());
656 contents_view->Layout(); 654 contents_view->Layout();
657 EXPECT_TRUE( 655 EXPECT_TRUE(IsStateShown(AppListModel::STATE_SEARCH_RESULTS));
658 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS));
659 EXPECT_TRUE( 656 EXPECT_TRUE(
660 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds())); 657 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
661 } 658 }
662 659
663 Close(); 660 Close();
664 } 661 }
665 662
666 class AppListViewTestAura : public views::ViewsTestBase, 663 class AppListViewTestAura : public views::ViewsTestBase,
667 public ::testing::WithParamInterface<int> { 664 public ::testing::WithParamInterface<int> {
668 public: 665 public:
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
827 AppListViewTestAura, 824 AppListViewTestAura,
828 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 825 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
829 #endif 826 #endif
830 827
831 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance, 828 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance,
832 AppListViewTestDesktop, 829 AppListViewTestDesktop,
833 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 830 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
834 831
835 } // namespace test 832 } // namespace test
836 } // namespace app_list 833 } // namespace app_list
OLDNEW
« no previous file with comments | « no previous file | ui/app_list/views/contents_animator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698