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

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

Issue 439703002: Allow app list tiles to show search results in the experimental app list. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix merge Created 6 years, 4 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/views/app_list_main_view.cc ('k') | ui/app_list/views/search_result_list_view.cc » ('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 "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 ++it) { 54 ++it) {
55 if ((*it)->visible()) 55 if ((*it)->visible())
56 count++; 56 count++;
57 } 57 }
58 return count; 58 return count;
59 } 59 }
60 60
61 // Choose a set that is 3 regular app list pages and 2 landscape app list pages. 61 // Choose a set that is 3 regular app list pages and 2 landscape app list pages.
62 const int kInitialItems = 34; 62 const int kInitialItems = 34;
63 63
64 class TestTileSearchResult : public SearchResult {
65 public:
66 TestTileSearchResult() { set_display_type(DISPLAY_TILE); }
67 virtual ~TestTileSearchResult() {}
68
69 private:
70 DISALLOW_COPY_AND_ASSIGN(TestTileSearchResult);
71 };
72
64 // Allows the same tests to run with different contexts: either an Ash-style 73 // Allows the same tests to run with different contexts: either an Ash-style
65 // root window or a desktop window tree host. 74 // root window or a desktop window tree host.
66 class AppListViewTestContext { 75 class AppListViewTestContext {
67 public: 76 public:
68 AppListViewTestContext(int test_type, gfx::NativeView parent); 77 AppListViewTestContext(int test_type, gfx::NativeView parent);
69 ~AppListViewTestContext(); 78 ~AppListViewTestContext();
70 79
71 // Test displaying the app list and performs a standard set of checks on its 80 // Test displaying the app list and performs a standard set of checks on its
72 // top level views. Then closes the window. 81 // top level views. Then closes the window.
73 void RunDisplayTest(); 82 void RunDisplayTest();
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 EXPECT_NO_FATAL_FAILURE(CheckView(main_view)); 315 EXPECT_NO_FATAL_FAILURE(CheckView(main_view));
307 EXPECT_NO_FATAL_FAILURE(CheckView(main_view->contents_view())); 316 EXPECT_NO_FATAL_FAILURE(CheckView(main_view->contents_view()));
308 if (test_type_ == EXPERIMENTAL) { 317 if (test_type_ == EXPERIMENTAL) {
309 EXPECT_NO_FATAL_FAILURE(CheckView(start_page_view)); 318 EXPECT_NO_FATAL_FAILURE(CheckView(start_page_view));
310 319
311 // Show the start page view. 320 // Show the start page view.
312 ContentsView* contents_view = main_view->contents_view(); 321 ContentsView* contents_view = main_view->contents_view();
313 ShowContentsViewPageAndVerify(contents_view->GetPageIndexForNamedPage( 322 ShowContentsViewPageAndVerify(contents_view->GetPageIndexForNamedPage(
314 ContentsView::NAMED_PAGE_START)); 323 ContentsView::NAMED_PAGE_START));
315 EXPECT_FALSE(main_view->search_box_view()->visible()); 324 EXPECT_FALSE(main_view->search_box_view()->visible());
316 EXPECT_EQ(3u, GetVisibleTileItemViews(start_page_view->tile_views()));
317 325
318 gfx::Size view_size(view_->GetPreferredSize()); 326 gfx::Size view_size(view_->GetPreferredSize());
319 ShowContentsViewPageAndVerify( 327 ShowContentsViewPageAndVerify(
320 contents_view->GetPageIndexForNamedPage(ContentsView::NAMED_PAGE_APPS)); 328 contents_view->GetPageIndexForNamedPage(ContentsView::NAMED_PAGE_APPS));
321 EXPECT_TRUE(main_view->search_box_view()->visible()); 329 EXPECT_TRUE(main_view->search_box_view()->visible());
322 330
323 // Hiding and showing the search box should not affect the app list's 331 // Hiding and showing the search box should not affect the app list's
324 // preferred size. This is a regression test for http://crbug.com/386912. 332 // preferred size. This is a regression test for http://crbug.com/386912.
325 EXPECT_EQ(view_size.ToString(), view_->GetPreferredSize().ToString()); 333 EXPECT_EQ(view_size.ToString(), view_->GetPreferredSize().ToString());
326 334
327 // Check tiles hide and show on deletion and addition. 335 // Check tiles hide and show on deletion and addition.
328 model->CreateAndAddItem("Test app"); 336 model->results()->Add(new TestTileSearchResult());
329 EXPECT_EQ(4u, GetVisibleTileItemViews(start_page_view->tile_views())); 337 start_page_view->UpdateForTesting();
330 model->DeleteItem(model->GetItemName(0)); 338 EXPECT_EQ(1u, GetVisibleTileItemViews(start_page_view->tile_views()));
331 EXPECT_EQ(3u, GetVisibleTileItemViews(start_page_view->tile_views())); 339 model->results()->RemoveAll();
340 start_page_view->UpdateForTesting();
341 EXPECT_EQ(0u, GetVisibleTileItemViews(start_page_view->tile_views()));
332 } else { 342 } else {
333 EXPECT_EQ(NULL, start_page_view); 343 EXPECT_EQ(NULL, start_page_view);
334 } 344 }
335 345
336 Close(); 346 Close();
337 } 347 }
338 348
339 void AppListViewTestContext::RunPageSwitchingAnimationTest() { 349 void AppListViewTestContext::RunPageSwitchingAnimationTest() {
340 if (test_type_ == EXPERIMENTAL) { 350 if (test_type_ == EXPERIMENTAL) {
341 Show(); 351 Show();
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 413
404 StartPageView* start_page_view = 414 StartPageView* start_page_view =
405 view_->app_list_main_view()->contents_view()->start_page_view(); 415 view_->app_list_main_view()->contents_view()->start_page_view();
406 ContentsSwitcherView* contents_switcher_view = 416 ContentsSwitcherView* contents_switcher_view =
407 view_->app_list_main_view()->contents_switcher_view(); 417 view_->app_list_main_view()->contents_switcher_view();
408 if (test_type_ == EXPERIMENTAL) { 418 if (test_type_ == EXPERIMENTAL) {
409 EXPECT_NO_FATAL_FAILURE(CheckView(contents_switcher_view)); 419 EXPECT_NO_FATAL_FAILURE(CheckView(contents_switcher_view));
410 EXPECT_EQ(view_->app_list_main_view()->contents_view(), 420 EXPECT_EQ(view_->app_list_main_view()->contents_view(),
411 contents_switcher_view->contents_view()); 421 contents_switcher_view->contents_view());
412 EXPECT_NO_FATAL_FAILURE(CheckView(start_page_view)); 422 EXPECT_NO_FATAL_FAILURE(CheckView(start_page_view));
413 EXPECT_EQ(1u, GetVisibleTileItemViews(start_page_view->tile_views()));
414 } else { 423 } else {
415 EXPECT_EQ(NULL, contents_switcher_view); 424 EXPECT_EQ(NULL, contents_switcher_view);
416 EXPECT_EQ(NULL, start_page_view); 425 EXPECT_EQ(NULL, start_page_view);
417 } 426 }
418 427
419 // New model updates should be processed by the start page view. 428 // New model updates should be processed by the start page view.
420 delegate_->GetTestModel()->CreateAndAddItem("Test App"); 429 delegate_->GetTestModel()->results()->Add(new TestTileSearchResult());
421 if (test_type_ == EXPERIMENTAL) 430 if (test_type_ == EXPERIMENTAL) {
422 EXPECT_EQ(2u, GetVisibleTileItemViews(start_page_view->tile_views())); 431 start_page_view->UpdateForTesting();
432 EXPECT_EQ(1u, GetVisibleTileItemViews(start_page_view->tile_views()));
433 }
423 434
424 // Old model updates should be ignored. 435 // Old model updates should be ignored.
425 original_test_model->CreateAndAddItem("Test App 2"); 436 original_test_model->results()->Add(new TestTileSearchResult());
426 if (test_type_ == EXPERIMENTAL) 437 original_test_model->results()->Add(new TestTileSearchResult());
427 EXPECT_EQ(2u, GetVisibleTileItemViews(start_page_view->tile_views())); 438 if (test_type_ == EXPERIMENTAL) {
439 start_page_view->UpdateForTesting();
440 EXPECT_EQ(1u, GetVisibleTileItemViews(start_page_view->tile_views()));
441 }
428 442
429 Close(); 443 Close();
430 } 444 }
431 445
432 void AppListViewTestContext::RunSearchResultsTest() { 446 void AppListViewTestContext::RunSearchResultsTest() {
433 EXPECT_FALSE(view_->GetWidget()->IsVisible()); 447 EXPECT_FALSE(view_->GetWidget()->IsVisible());
434 EXPECT_EQ(-1, GetPaginationModel()->total_pages()); 448 EXPECT_EQ(-1, GetPaginationModel()->total_pages());
435 AppListTestModel* model = delegate_->GetTestModel(); 449 AppListTestModel* model = delegate_->GetTestModel();
436 model->PopulateApps(3); 450 model->PopulateApps(3);
437 451
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance, 686 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance,
673 AppListViewTestAura, 687 AppListViewTestAura,
674 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 688 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
675 689
676 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance, 690 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance,
677 AppListViewTestDesktop, 691 AppListViewTestDesktop,
678 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 692 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
679 693
680 } // namespace test 694 } // namespace test
681 } // namespace app_list 695 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/views/app_list_main_view.cc ('k') | ui/app_list/views/search_result_list_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698