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 ef39edd41ce21996e0054222cdf212ea04e73273..0a203e8d36dad13a85763aaac77e9f34be2d74e0 100644 |
| --- a/ui/app_list/views/app_list_view_unittest.cc |
| +++ b/ui/app_list/views/app_list_view_unittest.cc |
| @@ -18,6 +18,7 @@ |
| #include "ui/app_list/views/apps_grid_view.h" |
| #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/start_page_view.h" |
| #include "ui/app_list/views/test/apps_grid_view_test_api.h" |
| #include "ui/app_list/views/tile_item_view.h" |
| @@ -76,9 +77,12 @@ class AppListViewTestContext { |
| // Tests displaying of the experimental app list and shows the start page. |
| void RunStartPageTest(); |
| - // Tests that changing the App List profile. |
| + // Tests changing the App List profile. |
| void RunProfileChangeTest(); |
| + // Tests displaying of the search results. |
| + void RunSearchResultsTest(); |
| + |
| // A standard set of checks on a view, e.g., ensuring it is drawn and visible. |
| static void CheckView(views::View* subview); |
| @@ -355,6 +359,54 @@ void AppListViewTestContext::RunProfileChangeTest() { |
| Close(); |
| } |
| +void AppListViewTestContext::RunSearchResultsTest() { |
| + EXPECT_FALSE(view_->GetWidget()->IsVisible()); |
| + EXPECT_EQ(-1, GetPaginationModel()->total_pages()); |
| + AppListTestModel* model = delegate_->GetTestModel(); |
| + model->PopulateApps(3); |
| + |
| + Show(); |
| + |
| + AppListMainView* main_view = view_->app_list_main_view(); |
| + ContentsView* contents_view = main_view->contents_view(); |
| + contents_view->SetActivePage( |
| + contents_view->GetPageIndexForNamedPage(ContentsView::NAMED_PAGE_APPS)); |
| + EXPECT_TRUE(IsViewAtOrigin(contents_view->apps_container_view())); |
| + |
| + // Show the search results. |
| + contents_view->ShowSearchResults(true); |
|
tapted
2014/06/12 05:43:28
perhaps before this, something like
if (test_type
calamity
2014/06/12 07:09:37
I set the page to the apps page to have a consiste
|
| + contents_view->Layout(); |
| + EXPECT_TRUE(contents_view->IsShowingSearchResults()); |
| + EXPECT_TRUE(main_view->search_box_view()->visible()); |
| + |
| + if (test_type_ == EXPERIMENTAL) { |
| + EXPECT_TRUE( |
| + contents_view->IsNamedPageActive(ContentsView::NAMED_PAGE_START)); |
| + EXPECT_TRUE(IsViewAtOrigin(contents_view->start_page_view())); |
| + } else { |
| + EXPECT_TRUE(contents_view->IsNamedPageActive( |
| + ContentsView::NAMED_PAGE_SEARCH_RESULTS)); |
| + EXPECT_TRUE(IsViewAtOrigin(contents_view->search_results_view())); |
| + } |
| + |
| + // Hide the search results. |
| + contents_view->ShowSearchResults(false); |
| + contents_view->Layout(); |
| + EXPECT_FALSE(contents_view->IsShowingSearchResults()); |
| + if (test_type_ == EXPERIMENTAL) { |
| + EXPECT_TRUE( |
| + contents_view->IsNamedPageActive(ContentsView::NAMED_PAGE_START)); |
| + EXPECT_TRUE(IsViewAtOrigin(contents_view->start_page_view())); |
| + EXPECT_FALSE(main_view->search_box_view()->visible()); |
| + } else { |
| + EXPECT_TRUE( |
| + contents_view->IsNamedPageActive(ContentsView::NAMED_PAGE_APPS)); |
| + EXPECT_TRUE(IsViewAtOrigin(contents_view->apps_container_view())); |
| + } |
|
tapted
2014/06/12 05:43:28
EXPECT_TRUE(main_view->search_box_view()->visible(
calamity
2014/06/12 07:09:37
Done.
|
| + |
| + Close(); |
| +} |
| + |
| class AppListViewTestAura : public views::ViewsTestBase, |
| public ::testing::WithParamInterface<int> { |
| public: |
| @@ -477,6 +529,15 @@ TEST_P(AppListViewTestDesktop, ProfileChangeTest) { |
| EXPECT_NO_FATAL_FAILURE(test_context_->RunProfileChangeTest()); |
| } |
| +// Tests that the correct views are displayed for showing search results. |
| +TEST_P(AppListViewTestAura, SearchResultsTest) { |
| + EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest()); |
| +} |
| + |
| +TEST_P(AppListViewTestDesktop, SearchResultsTest) { |
| + EXPECT_NO_FATAL_FAILURE(test_context_->RunSearchResultsTest()); |
| +} |
| + |
| INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance, |
| AppListViewTestAura, |
| ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); |