Index: ui/app_list/views/search_result_list_view_unittest.cc |
diff --git a/ui/app_list/views/search_result_list_view_unittest.cc b/ui/app_list/views/search_result_list_view_unittest.cc |
index 586ad8ff19d305535b0dc1261f0fdb59ae52e0f7..19ba7f79bd88292a561aaf896c4e4bcf09cfe9d7 100644 |
--- a/ui/app_list/views/search_result_list_view_unittest.cc |
+++ b/ui/app_list/views/search_result_list_view_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "ui/app_list/app_list_model.h" |
#include "ui/app_list/search_result.h" |
#include "ui/app_list/test/app_list_test_view_delegate.h" |
+#include "ui/app_list/views/progress_bar_view.h" |
#include "ui/app_list/views/search_result_list_view_delegate.h" |
#include "ui/app_list/views/search_result_view.h" |
#include "ui/views/test/views_test_base.h" |
@@ -38,6 +39,10 @@ class SearchResultListViewTest : public views::ViewsTestBase, |
protected: |
SearchResultListView* view() { return view_.get(); } |
+ AppListModel::SearchResults* GetResults() { |
+ return view_delegate_.GetModel()->results(); |
+ } |
+ |
void SetLongAutoLaunchTimeout() { |
// Sets a long timeout that lasts longer than the test run. |
view_delegate_.set_auto_launch_timeout(base::TimeDelta::FromDays(1)); |
@@ -48,7 +53,7 @@ class SearchResultListViewTest : public views::ViewsTestBase, |
} |
void SetUpSearchResults() { |
- AppListModel::SearchResults* results = view_delegate_.GetModel()->results(); |
+ AppListModel::SearchResults* results = GetResults(); |
for (int i = 0; i < kDefaultSearchItems; ++i) |
results->Add(new SearchResult()); |
@@ -62,9 +67,7 @@ class SearchResultListViewTest : public views::ViewsTestBase, |
return result; |
} |
- int GetSearchResults() { |
- return view_->last_visible_index_ + 1; |
- } |
+ int GetResultCount() { return view_->last_visible_index_ + 1; } |
int GetSelectedIndex() { |
return view_->selected_index_; |
@@ -75,12 +78,10 @@ class SearchResultListViewTest : public views::ViewsTestBase, |
} |
void AddTestResultAtIndex(int index) { |
- view_delegate_.GetModel()->results()->Add(new SearchResult()); |
+ GetResults()->Add(new SearchResult()); |
} |
- void DeleteResultAt(int index) { |
- view_delegate_.GetModel()->results()->DeleteAt(index); |
- } |
+ void DeleteResultAt(int index) { GetResults()->DeleteAt(index); } |
bool KeyPress(ui::KeyboardCode key_code) { |
ui::KeyEvent event(ui::ET_KEY_PRESSED, key_code, ui::EF_NONE); |
@@ -99,12 +100,16 @@ class SearchResultListViewTest : public views::ViewsTestBase, |
// Adding results will schedule Update(). |
RunPendingMessages(); |
- AppListModel::SearchResults* results = view_delegate_.GetModel()->results(); |
+ AppListModel::SearchResults* results = GetResults(); |
for (size_t i = 0; i < results->item_count(); ++i) { |
EXPECT_EQ(results->GetItemAt(i), view_->GetResultViewAt(i)->result()); |
} |
} |
+ ProgressBarView* GetProgressBarAt(size_t index) { |
+ return view()->GetResultViewAt(index)->progress_bar_; |
+ } |
+ |
private: |
virtual void OnResultInstalled(SearchResult* result) OVERRIDE {} |
virtual void OnResultUninstalled(SearchResult* result) OVERRIDE {} |
@@ -118,7 +123,7 @@ class SearchResultListViewTest : public views::ViewsTestBase, |
TEST_F(SearchResultListViewTest, Basic) { |
SetUpSearchResults(); |
- const int results = GetSearchResults(); |
+ const int results = GetResultCount(); |
EXPECT_EQ(kDefaultSearchItems, results); |
EXPECT_EQ(0, GetSelectedIndex()); |
EXPECT_FALSE(IsAutoLaunching()); |
@@ -209,5 +214,19 @@ TEST_F(SearchResultListViewTest, ModelObservers) { |
ExpectConsistent(); |
} |
+// Regression test for http://crbug.com/402859 to ensure ProgressBar is |
+// initialized properly in SearchResultListView::SetResult(). |
+TEST_F(SearchResultListViewTest, ProgressBar) { |
+ SetUpSearchResults(); |
+ |
+ GetResults()->GetItemAt(0)->SetIsInstalling(true); |
+ EXPECT_EQ(0.0f, GetProgressBarAt(0)->current_value()); |
+ GetResults()->GetItemAt(0)->SetPercentDownloaded(10); |
+ |
+ DeleteResultAt(0); |
+ RunPendingMessages(); |
+ EXPECT_EQ(0.0f, GetProgressBarAt(0)->current_value()); |
+} |
+ |
} // namespace test |
} // namespace app_list |