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" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 public: | 79 public: |
80 AppListServiceUnitTest() {} | 80 AppListServiceUnitTest() {} |
81 | 81 |
82 void SetUp() override { | 82 void SetUp() override { |
83 SetupWithCommandLine(base::CommandLine(base::CommandLine::NO_PROGRAM)); | 83 SetupWithCommandLine(base::CommandLine(base::CommandLine::NO_PROGRAM)); |
84 } | 84 } |
85 | 85 |
86 protected: | 86 protected: |
87 void SetupWithCommandLine(const base::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 initial_profile_ = "ip"; |
89 profile1_.reset( | 90 profile1_.reset( |
90 new FakeProfile("p1", user_data_dir_.AppendASCII("profile1"))); | 91 new FakeProfile("p1", user_data_dir_.AppendASCII("profile1"))); |
91 profile2_.reset( | 92 profile2_.reset( |
92 new FakeProfile("p2", user_data_dir_.AppendASCII("profile2"))); | 93 new FakeProfile("p2", user_data_dir_.AppendASCII("profile2"))); |
93 PrefRegistrySimple* pref_registry = new PrefRegistrySimple; | 94 PrefRegistrySimple* pref_registry = new PrefRegistrySimple; |
94 | 95 |
95 AppListService::RegisterPrefs(pref_registry); | 96 AppListService::RegisterPrefs(pref_registry); |
96 profiles::RegisterPrefs(pref_registry); | 97 profiles::RegisterPrefs(pref_registry); |
97 | 98 |
98 base::PrefServiceFactory factory; | 99 base::PrefServiceFactory factory; |
99 factory.set_user_prefs(make_scoped_refptr(new TestingPrefStore)); | 100 factory.set_user_prefs(make_scoped_refptr(new TestingPrefStore)); |
100 local_state_ = factory.Create(pref_registry).Pass(); | 101 local_state_ = factory.Create(pref_registry).Pass(); |
101 | 102 |
102 profile_store_ = new FakeProfileStore(user_data_dir_); | 103 profile_store_ = new FakeProfileStore(user_data_dir_, initial_profile_); |
103 service_.reset(new TestingAppListServiceImpl( | 104 service_.reset(new TestingAppListServiceImpl( |
104 command_line, | 105 command_line, |
105 local_state_.get(), | 106 local_state_.get(), |
106 scoped_ptr<ProfileStore>(profile_store_))); | 107 scoped_ptr<ProfileStore>(profile_store_))); |
107 } | 108 } |
108 | 109 |
109 void EnableAppList() { | 110 void EnableAppList() { |
110 service_->EnableAppList(profile1_.get(), | 111 service_->EnableAppList(profile1_.get(), |
111 AppListService::ENABLE_VIA_COMMAND_LINE); | 112 AppListService::ENABLE_VIA_COMMAND_LINE); |
112 } | 113 } |
113 | 114 |
114 base::FilePath user_data_dir_; | 115 base::FilePath user_data_dir_; |
| 116 std::string initial_profile_; |
115 scoped_ptr<PrefService> local_state_; | 117 scoped_ptr<PrefService> local_state_; |
116 FakeProfileStore* profile_store_; | 118 FakeProfileStore* profile_store_; |
117 scoped_ptr<TestingAppListServiceImpl> service_; | 119 scoped_ptr<TestingAppListServiceImpl> service_; |
118 scoped_ptr<FakeProfile> profile1_; | 120 scoped_ptr<FakeProfile> profile1_; |
119 scoped_ptr<FakeProfile> profile2_; | 121 scoped_ptr<FakeProfile> profile2_; |
120 | 122 |
121 DISALLOW_COPY_AND_ASSIGN(AppListServiceUnitTest); | 123 DISALLOW_COPY_AND_ASSIGN(AppListServiceUnitTest); |
122 }; | 124 }; |
123 | 125 |
124 TEST_F(AppListServiceUnitTest, EnablingStateIsPersisted) { | 126 TEST_F(AppListServiceUnitTest, EnablingStateIsPersisted) { |
125 EXPECT_FALSE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); | 127 EXPECT_FALSE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); |
126 EnableAppList(); | 128 EnableAppList(); |
127 EXPECT_TRUE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); | 129 EXPECT_TRUE(local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled)); |
128 EXPECT_EQ(profile1_->GetPath(), user_data_dir_.Append( | 130 EXPECT_EQ(profile1_->GetPath(), user_data_dir_.Append( |
129 local_state_->GetFilePath(prefs::kAppListProfile))); | 131 local_state_->GetFilePath(prefs::kAppListProfile))); |
130 } | 132 } |
131 | 133 |
132 TEST_F(AppListServiceUnitTest, ShowingForProfileLoadsAProfile) { | 134 TEST_F(AppListServiceUnitTest, ShowingForProfileLoadsAProfile) { |
133 profile_store_->LoadProfile(profile1_.get()); | 135 profile_store_->LoadProfile(profile1_.get()); |
134 EnableAppList(); | 136 EnableAppList(); |
135 service_->Show(); | 137 service_->Show(); |
136 EXPECT_EQ(profile1_.get(), service_->showing_for_profile()); | 138 EXPECT_EQ(profile1_.get(), service_->showing_for_profile()); |
137 EXPECT_TRUE(service_->IsAppListVisible()); | 139 EXPECT_TRUE(service_->IsAppListVisible()); |
138 } | 140 } |
139 | 141 |
140 TEST_F(AppListServiceUnitTest, RemovedProfileResetsToInitialProfile) { | 142 TEST_F(AppListServiceUnitTest, RemovedProfileResetsToInitialProfile) { |
141 EnableAppList(); | 143 EnableAppList(); |
142 profile_store_->RemoveProfile(profile1_.get()); | 144 profile_store_->RemoveProfile(profile1_.get()); |
143 base::FilePath initial_profile_path = | 145 base::FilePath initial_profile_path = |
144 user_data_dir_.AppendASCII(chrome::kInitialProfile); | 146 user_data_dir_.AppendASCII(initial_profile_); |
145 EXPECT_EQ(initial_profile_path, | 147 EXPECT_EQ(initial_profile_path, |
146 service_->GetProfilePath(profile_store_->GetUserDataDir())); | 148 service_->GetProfilePath(profile_store_->GetUserDataDir())); |
147 } | 149 } |
148 | 150 |
149 TEST_F(AppListServiceUnitTest, | 151 TEST_F(AppListServiceUnitTest, |
150 RemovedProfileResetsToLastUsedProfileIfExists) { | 152 RemovedProfileResetsToLastUsedProfileIfExists) { |
151 local_state_->SetString(prefs::kProfileLastUsed, "last-used"); | 153 local_state_->SetString(prefs::kProfileLastUsed, "last-used"); |
152 EnableAppList(); | 154 EnableAppList(); |
153 profile_store_->RemoveProfile(profile1_.get()); | 155 profile_store_->RemoveProfile(profile1_.get()); |
154 | 156 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 EXPECT_EQ(AppListService::ENABLE_FOR_APP_INSTALL, | 236 EXPECT_EQ(AppListService::ENABLE_FOR_APP_INSTALL, |
235 local_state_->GetInteger(prefs::kAppListEnableMethod)); | 237 local_state_->GetInteger(prefs::kAppListEnableMethod)); |
236 EXPECT_NE(0, local_state_->GetInt64(prefs::kAppListEnableTime)); | 238 EXPECT_NE(0, local_state_->GetInt64(prefs::kAppListEnableTime)); |
237 | 239 |
238 // An auto-show here should update the enable method to prevent recording it | 240 // An auto-show here should update the enable method to prevent recording it |
239 // as ENABLE_FOR_APP_INSTALL. | 241 // as ENABLE_FOR_APP_INSTALL. |
240 service_->ShowForAppInstall(profile1_.get(), "", false); | 242 service_->ShowForAppInstall(profile1_.get(), "", false); |
241 EXPECT_EQ(AppListService::ENABLE_SHOWN_UNDISCOVERED, | 243 EXPECT_EQ(AppListService::ENABLE_SHOWN_UNDISCOVERED, |
242 local_state_->GetInteger(prefs::kAppListEnableMethod)); | 244 local_state_->GetInteger(prefs::kAppListEnableMethod)); |
243 } | 245 } |
OLD | NEW |