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 |
deleted file mode 100644 |
index a42ba68a1148cf60898028f66bae46359f5165ee..0000000000000000000000000000000000000000 |
--- a/ui/app_list/views/search_result_list_view_unittest.cc |
+++ /dev/null |
@@ -1,232 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ui/app_list/views/search_result_list_view.h" |
- |
-#include <map> |
- |
-#include "base/strings/utf_string_conversions.h" |
-#include "ui/app_list/app_list_model.h" |
-#include "ui/app_list/test/app_list_test_view_delegate.h" |
-#include "ui/app_list/test/test_search_result.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" |
- |
-namespace app_list { |
-namespace test { |
- |
-namespace { |
-int kDefaultSearchItems = 5; |
-} // namespace |
- |
-class SearchResultListViewTest : public views::ViewsTestBase, |
- public SearchResultListViewDelegate { |
- public: |
- SearchResultListViewTest() {} |
- virtual ~SearchResultListViewTest() {} |
- |
- // Overridden from testing::Test: |
- virtual void SetUp() override { |
- views::ViewsTestBase::SetUp(); |
- view_.reset(new SearchResultListView(this, &view_delegate_)); |
- view_->SetResults(view_delegate_.GetModel()->results()); |
- view_->SetSelectedIndex(0); |
- } |
- |
- 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)); |
- } |
- |
- base::TimeDelta GetAutoLaunchTimeout() { |
- return view_delegate_.GetAutoLaunchTimeout(); |
- } |
- |
- void SetUpSearchResults() { |
- AppListModel::SearchResults* results = GetResults(); |
- for (int i = 0; i < kDefaultSearchItems; ++i) |
- results->Add(new TestSearchResult()); |
- |
- // Adding results will schedule Update(). |
- RunPendingMessages(); |
- } |
- |
- int GetOpenResultCountAndReset(int ranking) { |
- int result = view_delegate_.open_search_result_counts()[ranking]; |
- view_delegate_.open_search_result_counts().clear(); |
- return result; |
- } |
- |
- int GetResultCount() { return view_->last_visible_index_ + 1; } |
- |
- int GetSelectedIndex() { |
- return view_->selected_index_; |
- } |
- |
- void ResetSelectedIndex() { |
- view_->SetSelectedIndex(0); |
- } |
- |
- void AddTestResultAtIndex(int index) { |
- GetResults()->Add(new TestSearchResult()); |
- } |
- |
- 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); |
- return view_->OnKeyPressed(event); |
- } |
- |
- bool IsAutoLaunching() { |
- return view_->auto_launch_animation_; |
- } |
- |
- void ForceAutoLaunch() { |
- view_->ForceAutoLaunchForTest(); |
- } |
- |
- void ExpectConsistent() { |
- // Adding results will schedule Update(). |
- RunPendingMessages(); |
- |
- 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 {} |
- |
- AppListTestViewDelegate view_delegate_; |
- scoped_ptr<SearchResultListView> view_; |
- |
- DISALLOW_COPY_AND_ASSIGN(SearchResultListViewTest); |
-}; |
- |
-TEST_F(SearchResultListViewTest, Basic) { |
- SetUpSearchResults(); |
- |
- const int results = GetResultCount(); |
- EXPECT_EQ(kDefaultSearchItems, results); |
- EXPECT_EQ(0, GetSelectedIndex()); |
- EXPECT_FALSE(IsAutoLaunching()); |
- |
- EXPECT_TRUE(KeyPress(ui::VKEY_RETURN)); |
- EXPECT_EQ(1, GetOpenResultCountAndReset(0)); |
- |
- for (int i = 1; i < results; ++i) { |
- EXPECT_TRUE(KeyPress(ui::VKEY_DOWN)); |
- EXPECT_EQ(i, GetSelectedIndex()); |
- } |
- // Doesn't rotate. |
- EXPECT_TRUE(KeyPress(ui::VKEY_DOWN)); |
- EXPECT_EQ(results - 1, GetSelectedIndex()); |
- |
- for (int i = 1; i < results; ++i) { |
- EXPECT_TRUE(KeyPress(ui::VKEY_UP)); |
- EXPECT_EQ(results - i - 1, GetSelectedIndex()); |
- } |
- // Doesn't rotate. |
- EXPECT_TRUE(KeyPress(ui::VKEY_UP)); |
- EXPECT_EQ(0, GetSelectedIndex()); |
- ResetSelectedIndex(); |
- |
- for (int i = 1; i < results; ++i) { |
- EXPECT_TRUE(KeyPress(ui::VKEY_TAB)); |
- EXPECT_EQ(i, GetSelectedIndex()); |
- } |
- // Doesn't rotate. |
- EXPECT_TRUE(KeyPress(ui::VKEY_TAB)); |
- EXPECT_EQ(results - 1, GetSelectedIndex()); |
-} |
- |
-TEST_F(SearchResultListViewTest, AutoLaunch) { |
- SetLongAutoLaunchTimeout(); |
- SetUpSearchResults(); |
- |
- EXPECT_TRUE(IsAutoLaunching()); |
- ForceAutoLaunch(); |
- |
- EXPECT_FALSE(IsAutoLaunching()); |
- EXPECT_EQ(1, GetOpenResultCountAndReset(0)); |
- |
- // The timeout has to be cleared after the auto-launch, to prevent opening |
- // the search result twice. See the comment in AnimationEnded(). |
- EXPECT_EQ(base::TimeDelta(), GetAutoLaunchTimeout()); |
-} |
- |
-TEST_F(SearchResultListViewTest, CancelAutoLaunch) { |
- SetLongAutoLaunchTimeout(); |
- SetUpSearchResults(); |
- |
- EXPECT_TRUE(IsAutoLaunching()); |
- |
- EXPECT_TRUE(KeyPress(ui::VKEY_DOWN)); |
- EXPECT_FALSE(IsAutoLaunching()); |
- |
- SetLongAutoLaunchTimeout(); |
- view()->UpdateAutoLaunchState(); |
- EXPECT_TRUE(IsAutoLaunching()); |
- |
- view()->SetVisible(false); |
- EXPECT_FALSE(IsAutoLaunching()); |
- |
- SetLongAutoLaunchTimeout(); |
- view()->SetVisible(true); |
- EXPECT_TRUE(IsAutoLaunching()); |
-} |
- |
-TEST_F(SearchResultListViewTest, ModelObservers) { |
- SetUpSearchResults(); |
- ExpectConsistent(); |
- |
- // Insert at start. |
- AddTestResultAtIndex(0); |
- ExpectConsistent(); |
- |
- // Remove from end. |
- DeleteResultAt(kDefaultSearchItems); |
- ExpectConsistent(); |
- |
- // Insert at end. |
- AddTestResultAtIndex(kDefaultSearchItems); |
- ExpectConsistent(); |
- |
- // Delete from start. |
- DeleteResultAt(0); |
- 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 |