Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "ui/app_list/app_list_model.h" | 9 #include "ui/app_list/app_list_model.h" |
| 10 #include "ui/app_list/test/app_list_test_view_delegate.h" | 10 #include "ui/app_list/test/app_list_test_view_delegate.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 45 AppListModel::SearchResults* GetResults() { | 45 AppListModel::SearchResults* GetResults() { |
| 46 return view_delegate_.GetModel()->results(); | 46 return view_delegate_.GetModel()->results(); |
| 47 } | 47 } |
| 48 | 48 |
| 49 void SetUpSearchResults( | 49 void SetUpSearchResults( |
| 50 const std::map<SearchResult::DisplayType, int> result_types) { | 50 const std::map<SearchResult::DisplayType, int> result_types) { |
| 51 AppListModel::SearchResults* results = GetResults(); | 51 AppListModel::SearchResults* results = GetResults(); |
| 52 for (const auto& data : result_types) { | 52 for (const auto& data : result_types) { |
| 53 for (int i = 0; i < data.second; ++i) { | 53 for (int i = 0; i < data.second; ++i) { |
| 54 TestSearchResult* result = new TestSearchResult(); | 54 TestSearchResult* result = new TestSearchResult(); |
| 55 result->SetDisplayType(data.first); | 55 result->set_display_type(data.first); |
| 56 results->Add(result); | 56 results->Add(result); |
| 57 } | 57 } |
| 58 } | 58 } |
| 59 | 59 |
| 60 // Adding results will schedule Update(). | 60 // Adding results will schedule Update(). |
| 61 RunPendingMessages(); | 61 RunPendingMessages(); |
| 62 } | 62 } |
| 63 | 63 |
| 64 int GetSelectedIndex() { return view_->selected_index(); } | 64 int GetSelectedIndex() { return view_->selected_index(); } |
| 65 | 65 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 117 EXPECT_EQ(-1, tile_list_view()->selected_index()); | 117 EXPECT_EQ(-1, tile_list_view()->selected_index()); |
| 118 | 118 |
| 119 // Navigate off top of list. | 119 // Navigate off top of list. |
| 120 EXPECT_TRUE(KeyPress(ui::VKEY_UP)); | 120 EXPECT_TRUE(KeyPress(ui::VKEY_UP)); |
| 121 EXPECT_EQ(0, list_view()->selected_index()); | 121 EXPECT_EQ(0, list_view()->selected_index()); |
| 122 EXPECT_FALSE(KeyPress(ui::VKEY_UP)); | 122 EXPECT_FALSE(KeyPress(ui::VKEY_UP)); |
| 123 EXPECT_EQ(0, list_view()->selected_index()); | 123 EXPECT_EQ(0, list_view()->selected_index()); |
| 124 EXPECT_EQ(0, GetSelectedIndex()); | 124 EXPECT_EQ(0, GetSelectedIndex()); |
| 125 } | 125 } |
| 126 | 126 |
| 127 TEST_F(SearchResultPageViewTest, ResultsSorted) { | |
| 128 AppListModel::SearchResults* results = GetResults(); | |
| 129 | |
| 130 // Add 3 results and expect the tile list view to be the first result | |
| 131 // container view. | |
| 132 TestSearchResult* tile_result = new TestSearchResult(); | |
| 133 tile_result->set_display_type(SearchResult::DISPLAY_TILE); | |
| 134 tile_result->set_relevance(1.0); | |
|
Matt Giuca
2015/02/17 08:24:20
Can you make this 0.4 (so the TILE comes in betwee
calamity
2015/02/18 01:28:30
Done.
| |
| 135 results->Add(tile_result); | |
| 136 { | |
| 137 TestSearchResult* list_result = new TestSearchResult(); | |
| 138 list_result->set_display_type(SearchResult::DISPLAY_LIST); | |
| 139 list_result->set_relevance(0.5); | |
| 140 results->Add(list_result); | |
| 141 } | |
| 142 { | |
| 143 TestSearchResult* list_result = new TestSearchResult(); | |
| 144 list_result->set_display_type(SearchResult::DISPLAY_LIST); | |
| 145 list_result->set_relevance(0.3); | |
| 146 results->Add(list_result); | |
| 147 } | |
| 148 | |
| 149 // Adding results will schedule Update(). | |
| 150 RunPendingMessages(); | |
| 151 | |
| 152 EXPECT_EQ(tile_list_view(), view()->result_container_views()[0]); | |
| 153 EXPECT_EQ(list_view(), view()->result_container_views()[1]); | |
| 154 | |
| 155 // Change the relevance of the tile result and expect the list results to be | |
| 156 // displayed first. | |
| 157 tile_result->set_relevance(0.1); | |
| 158 | |
| 159 results->NotifyItemsChanged(0, 1); | |
| 160 RunPendingMessages(); | |
| 161 | |
| 162 EXPECT_EQ(list_view(), view()->result_container_views()[0]); | |
| 163 EXPECT_EQ(tile_list_view(), view()->result_container_views()[1]); | |
| 164 } | |
| 165 | |
| 127 } // namespace test | 166 } // namespace test |
| 128 } // namespace app_list | 167 } // namespace app_list |
| OLD | NEW |