Chromium Code Reviews| Index: ui/app_list/views/app_list_view_unittest.cc |
| diff --git a/ui/app_list/views/app_list_view_unittest.cc b/ui/app_list/views/app_list_view_unittest.cc |
| index 901bcf2f7261a4dd5f0bf8ce6f5551021b9e0ab2..53eda8556c8c75daa1fd50e0619980d035ee05d8 100644 |
| --- a/ui/app_list/views/app_list_view_unittest.cc |
| +++ b/ui/app_list/views/app_list_view_unittest.cc |
| @@ -23,6 +23,7 @@ |
| #include "ui/app_list/views/contents_view.h" |
| #include "ui/app_list/views/search_box_view.h" |
| #include "ui/app_list/views/search_result_list_view.h" |
| +#include "ui/app_list/views/search_result_page_view.h" |
| #include "ui/app_list/views/search_result_tile_item_view.h" |
| #include "ui/app_list/views/start_page_view.h" |
| #include "ui/app_list/views/test/apps_grid_view_test_api.h" |
| @@ -125,12 +126,13 @@ class AppListViewTestContext { |
| } |
| private: |
| - // Switches the active launcher page in the contents view and lays out to |
| - // ensure all launcher pages are in the correct position. |
| - void ShowContentsViewPageAndVerify(AppListModel::State state); |
| + // Switches the launcher to |state| and lays out to ensure all launcher pages |
| + // are in the correct position. Checks that the state is where it should be |
| + // and returns false on failure. |
| + bool SetAppListState(AppListModel::State state); |
| - // Tests that the app list is in |state|. |
| - void VerifyPageActive(AppListModel::State state); |
| + // Returns whether the app list showing |state|. |
| + bool IsStateShown(AppListModel::State state); |
| // Shows the app list and waits until a paint occurs. |
| void Show(); |
| @@ -215,24 +217,24 @@ void AppListViewTestContext::CheckView(views::View* subview) { |
| EXPECT_TRUE(subview->IsDrawn()); |
| } |
| -void AppListViewTestContext::ShowContentsViewPageAndVerify( |
| - AppListModel::State state) { |
| +bool AppListViewTestContext::SetAppListState(AppListModel::State state) { |
| ContentsView* contents_view = view_->app_list_main_view()->contents_view(); |
| int index = contents_view->GetPageIndexForState(state); |
| contents_view->SetActivePage(index); |
| contents_view->Layout(); |
| - VerifyPageActive(state); |
| + return IsStateShown(state); |
| } |
| -void AppListViewTestContext::VerifyPageActive(AppListModel::State state) { |
| +bool AppListViewTestContext::IsStateShown(AppListModel::State state) { |
| ContentsView* contents_view = view_->app_list_main_view()->contents_view(); |
| int index = contents_view->GetPageIndexForState(state); |
| + bool success = true; |
| for (int i = 0; i < contents_view->NumLauncherPages(); ++i) { |
| - EXPECT_EQ(i == index, |
| - contents_view->GetDefaultContentsBounds() == |
| - contents_view->GetPageView(i)->bounds()); |
| + success = success && |
| + (i == index) == (contents_view->GetDefaultContentsBounds() == |
| + contents_view->GetPageView(i)->bounds()); |
| } |
| - EXPECT_EQ(state, delegate_->GetTestModel()->state()); |
| + return success && state == delegate_->GetTestModel()->state(); |
| } |
| void AppListViewTestContext::Show() { |
| @@ -367,7 +369,7 @@ void AppListViewTestContext::RunStartPageTest() { |
| EXPECT_NO_FATAL_FAILURE(CheckView(start_page_view)); |
| // Show the start page view. |
| - ShowContentsViewPageAndVerify(AppListModel::STATE_START); |
| + EXPECT_TRUE(SetAppListState(AppListModel::STATE_START)); |
| EXPECT_FALSE(main_view->search_box_view()->visible()); |
| gfx::Size view_size(view_->GetPreferredSize()); |
| @@ -375,7 +377,7 @@ void AppListViewTestContext::RunStartPageTest() { |
| // apps grid view. |
| SimulateClick(start_page_view->all_apps_button()); |
| main_view->contents_view()->Layout(); |
| - VerifyPageActive(AppListModel::STATE_APPS); |
| + EXPECT_TRUE(IsStateShown(AppListModel::STATE_APPS)); |
| EXPECT_TRUE(main_view->search_box_view()->visible()); |
| // Hiding and showing the search box should not affect the app list's |
| @@ -506,35 +508,32 @@ void AppListViewTestContext::RunSearchResultsTest() { |
| AppListMainView* main_view = view_->app_list_main_view(); |
| ContentsView* contents_view = main_view->contents_view(); |
| - ShowContentsViewPageAndVerify(AppListModel::STATE_APPS); |
| + EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS)); |
| EXPECT_TRUE(main_view->search_box_view()->visible()); |
| // Show the search results. |
| contents_view->ShowSearchResults(true); |
| contents_view->Layout(); |
| - EXPECT_TRUE(contents_view->IsShowingSearchResults()); |
| + EXPECT_TRUE(contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); |
| EXPECT_TRUE(main_view->search_box_view()->visible()); |
| const gfx::Rect default_contents_bounds = |
| contents_view->GetDefaultContentsBounds(); |
| if (test_type_ == EXPERIMENTAL) { |
| - EXPECT_TRUE(contents_view->IsStateActive(AppListModel::STATE_START)); |
| - EXPECT_EQ(AppListModel::STATE_START, delegate_->GetTestModel()->state()); |
| + EXPECT_EQ(AppListModel::STATE_SEARCH_RESULTS, |
|
Matt Giuca
2014/11/04 07:44:37
This line appears in both branches and can be move
calamity
2014/11/06 04:55:01
Done.
|
| + delegate_->GetTestModel()->state()); |
| EXPECT_EQ(default_contents_bounds, |
| - contents_view->start_page_view()->bounds()); |
| + contents_view->search_results_page_view()->bounds()); |
| } else { |
| - EXPECT_TRUE( |
| - contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); |
| EXPECT_EQ(AppListModel::STATE_SEARCH_RESULTS, |
| delegate_->GetTestModel()->state()); |
| EXPECT_EQ(default_contents_bounds, |
| - contents_view->search_results_view()->bounds()); |
| + contents_view->search_results_list_view()->bounds()); |
| } |
| // Hide the search results. |
| contents_view->ShowSearchResults(false); |
| contents_view->Layout(); |
| - EXPECT_FALSE(contents_view->IsShowingSearchResults()); |
| // Check that we return to the page that we were on before the search. |
| EXPECT_TRUE(contents_view->IsStateActive(AppListModel::STATE_APPS)); |
| @@ -544,8 +543,7 @@ void AppListViewTestContext::RunSearchResultsTest() { |
| EXPECT_TRUE(main_view->search_box_view()->visible()); |
| if (test_type_ == EXPERIMENTAL) { |
| - ShowContentsViewPageAndVerify(AppListModel::STATE_START); |
| - |
| + EXPECT_TRUE(SetAppListState(AppListModel::STATE_START)); |
| // Check that typing into the dummy search box triggers the search page. |
| base::string16 search_text = base::UTF8ToUTF16("test"); |
| SearchBoxView* dummy_search_box = |
| @@ -555,17 +553,17 @@ void AppListViewTestContext::RunSearchResultsTest() { |
| contents_view->Layout(); |
| // Check that the current search is using |search_text|. |
| EXPECT_EQ(search_text, delegate_->GetTestModel()->search_box()->text()); |
| - EXPECT_TRUE(contents_view->IsShowingSearchResults()); |
| - EXPECT_FALSE(dummy_search_box->IsDrawn()); |
| EXPECT_TRUE(main_view->search_box_view()->visible()); |
| EXPECT_EQ(search_text, main_view->search_box_view()->search_box()->text()); |
| - EXPECT_TRUE(contents_view->IsStateActive(AppListModel::STATE_START)); |
| - EXPECT_EQ(AppListModel::STATE_START, delegate_->GetTestModel()->state()); |
| + EXPECT_TRUE( |
| + contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); |
| + EXPECT_EQ(AppListModel::STATE_SEARCH_RESULTS, |
| + delegate_->GetTestModel()->state()); |
| EXPECT_EQ(default_contents_bounds, |
| - contents_view->start_page_view()->bounds()); |
| + contents_view->search_results_page_view()->bounds()); |
| // Check that typing into the real search box triggers the search page. |
| - ShowContentsViewPageAndVerify(AppListModel::STATE_APPS); |
| + EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS)); |
| EXPECT_EQ(default_contents_bounds, |
| contents_view->apps_container_view()->bounds()); |
| @@ -576,14 +574,15 @@ void AppListViewTestContext::RunSearchResultsTest() { |
| EXPECT_EQ(new_search_text, delegate_->GetTestModel()->search_box()->text()); |
| EXPECT_EQ(new_search_text, |
| main_view->search_box_view()->search_box()->text()); |
| - EXPECT_TRUE(contents_view->IsShowingSearchResults()); |
| - EXPECT_FALSE(dummy_search_box->IsDrawn()); |
| + contents_view->Layout(); |
| + EXPECT_TRUE( |
| + contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); |
| EXPECT_TRUE(main_view->search_box_view()->visible()); |
| EXPECT_TRUE(dummy_search_box->search_box()->text().empty()); |
| // Check that the dummy search box is clear when reshowing the start page. |
| - ShowContentsViewPageAndVerify(AppListModel::STATE_APPS); |
| - ShowContentsViewPageAndVerify(AppListModel::STATE_START); |
| + EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS)); |
| + EXPECT_TRUE(SetAppListState(AppListModel::STATE_START)); |
| EXPECT_TRUE(dummy_search_box->IsDrawn()); |
| EXPECT_TRUE(dummy_search_box->search_box()->text().empty()); |
| } |