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

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

Issue 922063003: Sort experimental app list search result groups. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix_search_results_not_being_there
Patch Set: force test to be experimental app list 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
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/search_result_page_view.h" 5 #include "ui/app_list/views/search_result_page_view.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/command_line.h"
9 #include "ui/app_list/app_list_model.h" 10 #include "ui/app_list/app_list_model.h"
11 #include "ui/app_list/app_list_switches.h"
10 #include "ui/app_list/test/app_list_test_view_delegate.h" 12 #include "ui/app_list/test/app_list_test_view_delegate.h"
11 #include "ui/app_list/test/test_search_result.h" 13 #include "ui/app_list/test/test_search_result.h"
12 #include "ui/app_list/views/search_result_list_view.h" 14 #include "ui/app_list/views/search_result_list_view.h"
13 #include "ui/app_list/views/search_result_list_view_delegate.h" 15 #include "ui/app_list/views/search_result_list_view_delegate.h"
14 #include "ui/app_list/views/search_result_tile_item_list_view.h" 16 #include "ui/app_list/views/search_result_tile_item_list_view.h"
15 #include "ui/app_list/views/search_result_view.h" 17 #include "ui/app_list/views/search_result_view.h"
16 #include "ui/views/controls/textfield/textfield.h" 18 #include "ui/views/controls/textfield/textfield.h"
17 #include "ui/views/test/views_test_base.h" 19 #include "ui/views/test/views_test_base.h"
18 20
19 namespace app_list { 21 namespace app_list {
20 namespace test { 22 namespace test {
21 23
22 class SearchResultPageViewTest : public views::ViewsTestBase, 24 class SearchResultPageViewTest : public views::ViewsTestBase,
23 public SearchResultListViewDelegate { 25 public SearchResultListViewDelegate {
24 public: 26 public:
25 SearchResultPageViewTest() {} 27 SearchResultPageViewTest() {
28 base::CommandLine::ForCurrentProcess()->AppendSwitch(
29 switches::kEnableExperimentalAppList);
30 }
26 ~SearchResultPageViewTest() override {} 31 ~SearchResultPageViewTest() override {}
27 32
28 // Overridden from testing::Test: 33 // Overridden from testing::Test:
29 void SetUp() override { 34 void SetUp() override {
30 views::ViewsTestBase::SetUp(); 35 views::ViewsTestBase::SetUp();
31 view_.reset(new SearchResultPageView()); 36 view_.reset(new SearchResultPageView());
32 list_view_ = new SearchResultListView(this, &view_delegate_); 37 list_view_ = new SearchResultListView(this, &view_delegate_);
33 view_->AddSearchResultContainerView(GetResults(), list_view_); 38 view_->AddSearchResultContainerView(GetResults(), list_view_);
34 textfield_.reset(new views::Textfield()); 39 textfield_.reset(new views::Textfield());
35 tile_list_view_ = new SearchResultTileItemListView(textfield_.get()); 40 tile_list_view_ = new SearchResultTileItemListView(textfield_.get());
36 view_->AddSearchResultContainerView(GetResults(), tile_list_view_); 41 view_->AddSearchResultContainerView(GetResults(), tile_list_view_);
37 } 42 }
38 43
39 protected: 44 protected:
40 SearchResultPageView* view() { return view_.get(); } 45 SearchResultPageView* view() { return view_.get(); }
41 46
42 SearchResultListView* list_view() { return list_view_; } 47 SearchResultListView* list_view() { return list_view_; }
43 SearchResultTileItemListView* tile_list_view() { return tile_list_view_; } 48 SearchResultTileItemListView* tile_list_view() { return tile_list_view_; }
44 49
45 AppListModel::SearchResults* GetResults() { 50 AppListModel::SearchResults* GetResults() {
46 return view_delegate_.GetModel()->results(); 51 return view_delegate_.GetModel()->results();
47 } 52 }
48 53
49 void SetUpSearchResults( 54 void SetUpSearchResults(
50 const std::map<SearchResult::DisplayType, int> result_types) { 55 const std::map<SearchResult::DisplayType, int> result_types) {
51 AppListModel::SearchResults* results = GetResults(); 56 AppListModel::SearchResults* results = GetResults();
52 for (const auto& data : result_types) { 57 for (const auto& data : result_types) {
53 for (int i = 0; i < data.second; ++i) { 58 for (int i = 0; i < data.second; ++i) {
54 TestSearchResult* result = new TestSearchResult(); 59 TestSearchResult* result = new TestSearchResult();
55 result->SetDisplayType(data.first); 60 result->set_display_type(data.first);
56 results->Add(result); 61 results->Add(result);
57 } 62 }
58 } 63 }
59 64
60 // Adding results will schedule Update(). 65 // Adding results will schedule Update().
61 RunPendingMessages(); 66 RunPendingMessages();
62 } 67 }
63 68
64 int GetSelectedIndex() { return view_->selected_index(); } 69 int GetSelectedIndex() { return view_->selected_index(); }
65 70
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 EXPECT_EQ(-1, tile_list_view()->selected_index()); 122 EXPECT_EQ(-1, tile_list_view()->selected_index());
118 123
119 // Navigate off top of list. 124 // Navigate off top of list.
120 EXPECT_TRUE(KeyPress(ui::VKEY_UP)); 125 EXPECT_TRUE(KeyPress(ui::VKEY_UP));
121 EXPECT_EQ(0, list_view()->selected_index()); 126 EXPECT_EQ(0, list_view()->selected_index());
122 EXPECT_FALSE(KeyPress(ui::VKEY_UP)); 127 EXPECT_FALSE(KeyPress(ui::VKEY_UP));
123 EXPECT_EQ(0, list_view()->selected_index()); 128 EXPECT_EQ(0, list_view()->selected_index());
124 EXPECT_EQ(0, GetSelectedIndex()); 129 EXPECT_EQ(0, GetSelectedIndex());
125 } 130 }
126 131
132 TEST_F(SearchResultPageViewTest, ResultsSorted) {
133 AppListModel::SearchResults* results = GetResults();
134
135 // Add 3 results and expect the tile list view to be the first result
136 // container view.
137 TestSearchResult* tile_result = new TestSearchResult();
138 tile_result->set_display_type(SearchResult::DISPLAY_TILE);
139 tile_result->set_relevance(1.0);
140 results->Add(tile_result);
141 {
142 TestSearchResult* list_result = new TestSearchResult();
143 list_result->set_display_type(SearchResult::DISPLAY_LIST);
144 list_result->set_relevance(0.5);
145 results->Add(list_result);
146 }
147 {
148 TestSearchResult* list_result = new TestSearchResult();
149 list_result->set_display_type(SearchResult::DISPLAY_LIST);
150 list_result->set_relevance(0.3);
151 results->Add(list_result);
152 }
153
154 // Adding results will schedule Update().
155 RunPendingMessages();
156
157 EXPECT_EQ(tile_list_view(), view()->result_container_views()[0]);
158 EXPECT_EQ(list_view(), view()->result_container_views()[1]);
159
160 // Change the relevance of the tile result and expect the list results to be
161 // displayed first.
162 tile_result->set_relevance(0.4);
163
164 results->NotifyItemsChanged(0, 1);
165 RunPendingMessages();
166
167 EXPECT_EQ(list_view(), view()->result_container_views()[0]);
168 EXPECT_EQ(tile_list_view(), view()->result_container_views()[1]);
169 }
170
127 } // namespace test 171 } // namespace test
128 } // namespace app_list 172 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/views/search_result_page_view.cc ('k') | ui/app_list/views/search_result_tile_item_list_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698