• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef UI_APP_LIST_TEST_APP_LIST_TEST_VIEW_DELEGATE_H_
6 #define UI_APP_LIST_TEST_APP_LIST_TEST_VIEW_DELEGATE_H_
7 
8 #include <map>
9 #include <string>
10 
11 #include "base/callback_forward.h"
12 #include "base/compiler_specific.h"
13 #include "base/memory/scoped_ptr.h"
14 #include "base/observer_list.h"
15 #include "ui/app_list/app_list_view_delegate.h"
16 #include "ui/app_list/speech_ui_model.h"
17 
18 namespace app_list {
19 namespace test {
20 
21 class AppListTestModel;
22 
23 // A concrete AppListViewDelegate for unit tests.
24 class AppListTestViewDelegate : public AppListViewDelegate {
25  public:
26   AppListTestViewDelegate();
27   virtual ~AppListTestViewDelegate();
28 
dismiss_count()29   int dismiss_count() { return dismiss_count_; }
open_search_result_count()30   int open_search_result_count() { return open_search_result_count_; }
SetUsers(const Users & users)31   void SetUsers(const Users& users) {
32     users_ = users;
33   }
open_search_result_counts()34   std::map<size_t, int> open_search_result_counts() {
35     return open_search_result_counts_;
36   }
37 
38   // Sets the number of apps that the model will be created with the next time
39   // SetProfileByPath() is called.
set_next_profile_app_count(int apps)40   void set_next_profile_app_count(int apps) { next_profile_app_count_ = apps; }
41 
set_auto_launch_timeout(const base::TimeDelta & timeout)42   void set_auto_launch_timeout(const base::TimeDelta& timeout) {
43     auto_launch_timeout_ = timeout;
44   }
45 
46   // Returns the value of |toggle_speech_recognition_count_| and then
47   // resets this value to 0.
48   int GetToggleSpeechRecognitionCountAndReset();
49 
50   // AppListViewDelegate overrides:
51   virtual bool ForceNativeDesktop() const OVERRIDE;
52   virtual void SetProfileByPath(const base::FilePath& profile_path) OVERRIDE;
53   virtual AppListModel* GetModel() OVERRIDE;
54   virtual SpeechUIModel* GetSpeechUI() OVERRIDE;
55   virtual void GetShortcutPathForApp(
56       const std::string& app_id,
57       const base::Callback<void(const base::FilePath&)>& callback) OVERRIDE;
StartSearch()58   virtual void StartSearch() OVERRIDE {}
StopSearch()59   virtual void StopSearch() OVERRIDE {}
60   virtual void OpenSearchResult(SearchResult* result,
61                                 bool auto_launch,
62                                 int event_flags) OVERRIDE;
InvokeSearchResultAction(SearchResult * result,int action_index,int event_flags)63   virtual void InvokeSearchResultAction(SearchResult* result,
64                                         int action_index,
65                                         int event_flags) OVERRIDE {}
66   virtual base::TimeDelta GetAutoLaunchTimeout() OVERRIDE;
67   virtual void AutoLaunchCanceled() OVERRIDE;
ViewInitialized()68   virtual void ViewInitialized() OVERRIDE {}
69   virtual void Dismiss() OVERRIDE;
ViewClosing()70   virtual void ViewClosing() OVERRIDE {}
71   virtual gfx::ImageSkia GetWindowIcon() OVERRIDE;
OpenSettings()72   virtual void OpenSettings() OVERRIDE {}
OpenHelp()73   virtual void OpenHelp() OVERRIDE {}
OpenFeedback()74   virtual void OpenFeedback() OVERRIDE {}
75   virtual void ToggleSpeechRecognition() OVERRIDE;
ShowForProfileByPath(const base::FilePath & profile_path)76   virtual void ShowForProfileByPath(
77       const base::FilePath& profile_path) OVERRIDE {}
78 #if defined(TOOLKIT_VIEWS)
79   virtual views::View* CreateStartPageWebView(const gfx::Size& size) OVERRIDE;
80   virtual std::vector<views::View*> CreateCustomPageWebViews(
81       const gfx::Size& size) OVERRIDE;
82 #endif
83   virtual bool IsSpeechRecognitionEnabled() OVERRIDE;
84   virtual const Users& GetUsers() const OVERRIDE;
85   virtual bool ShouldCenterWindow() const OVERRIDE;
86   virtual void AddObserver(AppListViewDelegateObserver* observer) OVERRIDE;
87   virtual void RemoveObserver(AppListViewDelegateObserver* observer) OVERRIDE;
88 
89   // Do a bulk replacement of the items in the model.
90   void ReplaceTestModel(int item_count);
91 
ReleaseTestModel()92   AppListTestModel* ReleaseTestModel() { return model_.release(); }
GetTestModel()93   AppListTestModel* GetTestModel() { return model_.get(); }
94 
95  private:
96   int dismiss_count_;
97   int toggle_speech_recognition_count_;
98   int open_search_result_count_;
99   int next_profile_app_count_;
100   std::map<size_t, int> open_search_result_counts_;
101   Users users_;
102   scoped_ptr<AppListTestModel> model_;
103   ObserverList<AppListViewDelegateObserver> observers_;
104   SpeechUIModel speech_ui_;
105   base::TimeDelta auto_launch_timeout_;
106 
107   DISALLOW_COPY_AND_ASSIGN(AppListTestViewDelegate);
108 };
109 
110 }  // namespace test
111 }  // namespace app_list
112 
113 #endif  // UI_APP_LIST_TEST_APP_LIST_TEST_VIEW_DELEGATE_H_
114