OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/files/file_path.h" | 6 #include "base/files/file_path.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/prefs/pref_registry_simple.h" | 8 #include "base/prefs/pref_registry_simple.h" |
9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
10 #include "base/prefs/pref_service_factory.h" | 10 #include "base/prefs/pref_service_factory.h" |
11 #include "base/prefs/testing_pref_store.h" | 11 #include "base/prefs/testing_pref_store.h" |
12 #include "chrome/browser/profiles/profile.h" | 12 #include "chrome/browser/profiles/profile.h" |
13 #include "chrome/browser/profiles/profiles_state.h" | 13 #include "chrome/browser/profiles/profiles_state.h" |
14 #include "chrome/browser/ui/app_list/app_list_service.h" | 14 #include "chrome/browser/ui/app_list/app_list_service.h" |
15 #include "chrome/browser/ui/app_list/app_list_service_impl.h" | 15 #include "chrome/browser/ui/app_list/app_list_service_impl.h" |
16 #include "chrome/browser/ui/app_list/test/fake_profile.h" | 16 #include "chrome/browser/ui/app_list/test/fake_profile.h" |
17 #include "chrome/browser/ui/app_list/test/fake_profile_store.h" | 17 #include "chrome/browser/ui/app_list/test/fake_profile_store.h" |
18 #include "chrome/common/chrome_constants.h" | 18 #include "chrome/common/chrome_constants.h" |
19 #include "chrome/common/chrome_switches.h" | 19 #include "chrome/common/chrome_switches.h" |
20 #include "chrome/common/pref_names.h" | 20 #include "chrome/common/pref_names.h" |
21 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
22 | 22 |
23 class TestingAppListServiceImpl : public AppListServiceImpl { | 23 class TestingAppListServiceImpl : public AppListServiceImpl { |
24 public: | 24 public: |
25 TestingAppListServiceImpl(const CommandLine& command_line, | 25 TestingAppListServiceImpl(const base::CommandLine& command_line, |
26 PrefService* local_state, | 26 PrefService* local_state, |
27 scoped_ptr<ProfileStore> profile_store) | 27 scoped_ptr<ProfileStore> profile_store) |
28 : AppListServiceImpl(command_line, local_state, profile_store.Pass()), | 28 : AppListServiceImpl(command_line, local_state, profile_store.Pass()), |
29 showing_for_profile_(NULL), | 29 showing_for_profile_(NULL), |
30 destroy_app_list_call_count_(0) {} | 30 destroy_app_list_call_count_(0) {} |
31 | 31 |
32 Profile* showing_for_profile() const { | 32 Profile* showing_for_profile() const { |
33 return showing_for_profile_; | 33 return showing_for_profile_; |
34 } | 34 } |
35 | 35 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 int destroy_app_list_call_count_; | 73 int destroy_app_list_call_count_; |
74 | 74 |
75 DISALLOW_COPY_AND_ASSIGN(TestingAppListServiceImpl); | 75 DISALLOW_COPY_AND_ASSIGN(TestingAppListServiceImpl); |
76 }; | 76 }; |
77 | 77 |
78 class AppListServiceUnitTest : public testing::Test { | 78 class AppListServiceUnitTest : public testing::Test { |
79 public: | 79 public: |
80 AppListServiceUnitTest() {} | 80 AppListServiceUnitTest() {} |
81 | 81 |
82 void SetUp() override { | 82 void SetUp() override { |
83 SetupWithCommandLine(CommandLine(CommandLine::NO_PROGRAM)); | 83 SetupWithCommandLine(base::CommandLine(base::CommandLine::NO_PROGRAM)); |
84 } | 84 } |
85 | 85 |
86 protected: | 86 protected: |
87 void SetupWithCommandLine(const CommandLine& command_line) { | 87 void SetupWithCommandLine(const base::CommandLine& command_line) { |
88 user_data_dir_ = base::FilePath(FILE_PATH_LITERAL("udd")); | 88 user_data_dir_ = base::FilePath(FILE_PATH_LITERAL("udd")); |
89 profile1_.reset( | 89 profile1_.reset( |
90 new FakeProfile("p1", user_data_dir_.AppendASCII("profile1"))); | 90 new FakeProfile("p1", user_data_dir_.AppendASCII("profile1"))); |
91 profile2_.reset( | 91 profile2_.reset( |
92 new FakeProfile("p2", user_data_dir_.AppendASCII("profile2"))); | 92 new FakeProfile("p2", user_data_dir_.AppendASCII("profile2"))); |
93 PrefRegistrySimple* pref_registry = new PrefRegistrySimple; | 93 PrefRegistrySimple* pref_registry = new PrefRegistrySimple; |
94 | 94 |
95 AppListService::RegisterPrefs(pref_registry); | 95 AppListService::RegisterPrefs(pref_registry); |
96 profiles::RegisterPrefs(pref_registry); | 96 profiles::RegisterPrefs(pref_registry); |
97 | 97 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 service_->Show(); | 170 service_->Show(); |
171 EXPECT_EQ(profile2_.get(), service_->showing_for_profile()); | 171 EXPECT_EQ(profile2_.get(), service_->showing_for_profile()); |
172 EXPECT_EQ(profile2_->GetPath(), | 172 EXPECT_EQ(profile2_->GetPath(), |
173 service_->GetProfilePath(profile_store_->GetUserDataDir())); | 173 service_->GetProfilePath(profile_store_->GetUserDataDir())); |
174 service_->SetProfilePath(profile1_->GetPath()); | 174 service_->SetProfilePath(profile1_->GetPath()); |
175 EXPECT_EQ(profile1_->GetPath(), | 175 EXPECT_EQ(profile1_->GetPath(), |
176 service_->GetProfilePath(profile_store_->GetUserDataDir())); | 176 service_->GetProfilePath(profile_store_->GetUserDataDir())); |
177 } | 177 } |
178 | 178 |
179 TEST_F(AppListServiceUnitTest, EnableViaCommandLineFlag) { | 179 TEST_F(AppListServiceUnitTest, EnableViaCommandLineFlag) { |
180 CommandLine command_line(CommandLine::NO_PROGRAM); | 180 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
181 command_line.AppendSwitch(switches::kEnableAppList); | 181 command_line.AppendSwitch(switches::kEnableAppList); |
182 SetupWithCommandLine(command_line); | 182 SetupWithCommandLine(command_line); |
183 service_->PerformStartupChecks(profile1_.get()); | 183 service_->PerformStartupChecks(profile1_.get()); |
184 EXPECT_TRUE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); | 184 EXPECT_TRUE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); |
185 } | 185 } |
186 | 186 |
187 TEST_F(AppListServiceUnitTest, DisableViaCommandLineFlag) { | 187 TEST_F(AppListServiceUnitTest, DisableViaCommandLineFlag) { |
188 CommandLine command_line(CommandLine::NO_PROGRAM); | 188 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
189 command_line.AppendSwitch(switches::kResetAppListInstallState); | 189 command_line.AppendSwitch(switches::kResetAppListInstallState); |
190 SetupWithCommandLine(command_line); | 190 SetupWithCommandLine(command_line); |
191 service_->PerformStartupChecks(profile1_.get()); | 191 service_->PerformStartupChecks(profile1_.get()); |
192 EXPECT_FALSE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); | 192 EXPECT_FALSE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); |
193 } | 193 } |
194 | 194 |
195 TEST_F(AppListServiceUnitTest, UMAPrefStates) { | 195 TEST_F(AppListServiceUnitTest, UMAPrefStates) { |
196 EXPECT_FALSE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); | 196 EXPECT_FALSE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); |
197 EXPECT_EQ(AppListService::ENABLE_NOT_RECORDED, | 197 EXPECT_EQ(AppListService::ENABLE_NOT_RECORDED, |
198 local_state_->GetInteger(prefs::kAppListEnableMethod)); | 198 local_state_->GetInteger(prefs::kAppListEnableMethod)); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 EXPECT_EQ(AppListService::ENABLE_FOR_APP_INSTALL, | 234 EXPECT_EQ(AppListService::ENABLE_FOR_APP_INSTALL, |
235 local_state_->GetInteger(prefs::kAppListEnableMethod)); | 235 local_state_->GetInteger(prefs::kAppListEnableMethod)); |
236 EXPECT_NE(0, local_state_->GetInt64(prefs::kAppListEnableTime)); | 236 EXPECT_NE(0, local_state_->GetInt64(prefs::kAppListEnableTime)); |
237 | 237 |
238 // An auto-show here should update the enable method to prevent recording it | 238 // An auto-show here should update the enable method to prevent recording it |
239 // as ENABLE_FOR_APP_INSTALL. | 239 // as ENABLE_FOR_APP_INSTALL. |
240 service_->ShowForAppInstall(profile1_.get(), "", false); | 240 service_->ShowForAppInstall(profile1_.get(), "", false); |
241 EXPECT_EQ(AppListService::ENABLE_SHOWN_UNDISCOVERED, | 241 EXPECT_EQ(AppListService::ENABLE_SHOWN_UNDISCOVERED, |
242 local_state_->GetInteger(prefs::kAppListEnableMethod)); | 242 local_state_->GetInteger(prefs::kAppListEnableMethod)); |
243 } | 243 } |
OLD | NEW |