Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Side by Side Diff: chrome/browser/browsing_data/hosted_apps_counter_unittest.cc

Issue 2084903002: Moved BrowsingDataCounter and part of BrowsingDataCounterUtils to components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed deps Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chrome/browser/browsing_data/hosted_apps_counter.h" 5 #include "chrome/browser/browsing_data/hosted_apps_counter.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/guid.h" 13 #include "base/guid.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
16 #include "chrome/test/base/testing_profile.h" 16 #include "chrome/test/base/testing_profile.h"
17 #include "components/browsing_data/browsing_data_utils.h"
17 #include "components/crx_file/id_util.h" 18 #include "components/crx_file/id_util.h"
18 #include "components/prefs/pref_service.h" 19 #include "components/prefs/pref_service.h"
19 #include "extensions/browser/extension_registry.h" 20 #include "extensions/browser/extension_registry.h"
20 #include "extensions/common/extension_builder.h" 21 #include "extensions/common/extension_builder.h"
21 #include "extensions/common/value_builder.h" 22 #include "extensions/common/value_builder.h"
22 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
23 24
24 namespace { 25 namespace {
25 26
26 using extensions::DictionaryBuilder; 27 using extensions::DictionaryBuilder;
27 using extensions::ListBuilder; 28 using extensions::ListBuilder;
28 29
29 class HostedAppsCounterTest : public testing::Test { 30 class HostedAppsCounterTest : public testing::Test {
30 public: 31 public:
31 void SetUp() override { 32 void SetUp() override {
32 profile_.reset(new TestingProfile()); 33 profile_.reset(new TestingProfile());
33 extension_registry_ = extensions::ExtensionRegistry::Get(profile_.get()); 34 extension_registry_ = extensions::ExtensionRegistry::Get(profile_.get());
34 35
35 SetHostedAppsDeletionPref(true); 36 SetHostedAppsDeletionPref(true);
36 SetDeletionPeriodPref(BrowsingDataRemover::EVERYTHING); 37 SetDeletionPeriodPref(EVERYTHING);
37 } 38 }
38 39
39 // Adding and removing apps and extensions. ---------------------------------- 40 // Adding and removing apps and extensions. ----------------------------------
40 41
41 std::string AddExtension() { 42 std::string AddExtension() {
42 return AddItem( 43 return AddItem(
43 base::GenerateGUID(), 44 base::GenerateGUID(),
44 std::unique_ptr<base::DictionaryValue>()); 45 std::unique_ptr<base::DictionaryValue>());
45 } 46 }
46 47
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 void RemoveItem(const std::string& id) { 93 void RemoveItem(const std::string& id) {
93 extension_registry_->RemoveEnabled(id); 94 extension_registry_->RemoveEnabled(id);
94 } 95 }
95 96
96 // Setting preferences. ------------------------------------------------------ 97 // Setting preferences. ------------------------------------------------------
97 98
98 void SetHostedAppsDeletionPref(bool value) { 99 void SetHostedAppsDeletionPref(bool value) {
99 GetProfile()->GetPrefs()->SetBoolean(prefs::kDeleteHostedAppsData, value); 100 GetProfile()->GetPrefs()->SetBoolean(prefs::kDeleteHostedAppsData, value);
100 } 101 }
101 102
102 void SetDeletionPeriodPref(BrowsingDataRemover::TimePeriod period) { 103 void SetDeletionPeriodPref(TimePeriod period) {
103 GetProfile()->GetPrefs()->SetInteger( 104 GetProfile()->GetPrefs()->SetInteger(
104 prefs::kDeleteTimePeriod, static_cast<int>(period)); 105 prefs::kDeleteTimePeriod, static_cast<int>(period));
105 } 106 }
106 107
107 // Retrieving counter results. ----------------------------------------------- 108 // Retrieving counter results. -----------------------------------------------
108 109
109 BrowsingDataCounter::ResultInt GetNumHostedApps() { 110 BrowsingDataCounter::ResultInt GetNumHostedApps() {
110 DCHECK(finished_); 111 DCHECK(finished_);
111 return num_apps_; 112 return num_apps_;
112 } 113 }
(...skipping 26 matching lines...) Expand all
139 std::unique_ptr<TestingProfile> profile_; 140 std::unique_ptr<TestingProfile> profile_;
140 extensions::ExtensionRegistry* extension_registry_; 141 extensions::ExtensionRegistry* extension_registry_;
141 142
142 bool finished_; 143 bool finished_;
143 BrowsingDataCounter::ResultInt num_apps_; 144 BrowsingDataCounter::ResultInt num_apps_;
144 std::vector<std::string> examples_; 145 std::vector<std::string> examples_;
145 }; 146 };
146 147
147 // Tests that we count the total number of hosted apps correctly. 148 // Tests that we count the total number of hosted apps correctly.
148 TEST_F(HostedAppsCounterTest, Count) { 149 TEST_F(HostedAppsCounterTest, Count) {
149 HostedAppsCounter counter; 150 Profile* profile = GetProfile();
150 counter.Init(GetProfile(), 151 HostedAppsCounter counter(profile);
151 base::Bind(&HostedAppsCounterTest::Callback, 152 counter.Init(
152 base::Unretained(this))); 153 profile->GetPrefs(), prefs::kDeleteTimePeriod,
154 base::Bind(&HostedAppsCounterTest::Callback, base::Unretained(this)));
153 counter.Restart(); 155 counter.Restart();
154 EXPECT_EQ(0u, GetNumHostedApps()); 156 EXPECT_EQ(0u, GetNumHostedApps());
155 157
156 std::string first_app = AddHostedApp(); 158 std::string first_app = AddHostedApp();
157 AddHostedApp(); 159 AddHostedApp();
158 std::string last_app = AddHostedApp(); 160 std::string last_app = AddHostedApp();
159 161
160 counter.Restart(); 162 counter.Restart();
161 EXPECT_EQ(3u, GetNumHostedApps()); 163 EXPECT_EQ(3u, GetNumHostedApps());
162 164
163 RemoveItem(last_app); 165 RemoveItem(last_app);
164 RemoveItem(first_app); 166 RemoveItem(first_app);
165 counter.Restart(); 167 counter.Restart();
166 EXPECT_EQ(1u, GetNumHostedApps()); 168 EXPECT_EQ(1u, GetNumHostedApps());
167 169
168 AddHostedApp(); 170 AddHostedApp();
169 counter.Restart(); 171 counter.Restart();
170 EXPECT_EQ(2u, GetNumHostedApps()); 172 EXPECT_EQ(2u, GetNumHostedApps());
171 } 173 }
172 174
173 // Tests that we only count hosted apps, not packaged apps or extensions. 175 // Tests that we only count hosted apps, not packaged apps or extensions.
174 TEST_F(HostedAppsCounterTest, OnlyHostedApps) { 176 TEST_F(HostedAppsCounterTest, OnlyHostedApps) {
175 HostedAppsCounter counter; 177 Profile* profile = GetProfile();
176 counter.Init(GetProfile(), 178 HostedAppsCounter counter(profile);
177 base::Bind(&HostedAppsCounterTest::Callback, 179 counter.Init(
178 base::Unretained(this))); 180 profile->GetPrefs(), prefs::kDeleteTimePeriod,
181 base::Bind(&HostedAppsCounterTest::Callback, base::Unretained(this)));
179 182
180 AddHostedApp(); // 1 183 AddHostedApp(); // 1
181 AddExtension(); 184 AddExtension();
182 AddPackagedApp(); 185 AddPackagedApp();
183 AddExtension(); 186 AddExtension();
184 counter.Restart(); 187 counter.Restart();
185 EXPECT_EQ(1u, GetNumHostedApps()); 188 EXPECT_EQ(1u, GetNumHostedApps());
186 189
187 AddHostedApp(); // 2 190 AddHostedApp(); // 2
188 AddHostedApp(); // 3 191 AddHostedApp(); // 3
(...skipping 13 matching lines...) Expand all
202 AddExtension(); 205 AddExtension();
203 AddExtension(); 206 AddExtension();
204 AddPackagedApp(); 207 AddPackagedApp();
205 counter.Restart(); 208 counter.Restart();
206 EXPECT_EQ(5u, GetNumHostedApps()); 209 EXPECT_EQ(5u, GetNumHostedApps());
207 } 210 }
208 211
209 // Tests that the counter results contain names of the first two hosted apps 212 // Tests that the counter results contain names of the first two hosted apps
210 // in lexicographic ordering. 213 // in lexicographic ordering.
211 TEST_F(HostedAppsCounterTest, Examples) { 214 TEST_F(HostedAppsCounterTest, Examples) {
212 HostedAppsCounter counter; 215 Profile* profile = GetProfile();
213 counter.Init(GetProfile(), 216 HostedAppsCounter counter(profile);
214 base::Bind(&HostedAppsCounterTest::Callback, 217 counter.Init(
215 base::Unretained(this))); 218 profile->GetPrefs(), prefs::kDeleteTimePeriod,
219 base::Bind(&HostedAppsCounterTest::Callback, base::Unretained(this)));
216 counter.Restart(); 220 counter.Restart();
217 EXPECT_EQ(0u, GetExamples().size()); 221 EXPECT_EQ(0u, GetExamples().size());
218 222
219 AddHostedAppWithName("App 1"); 223 AddHostedAppWithName("App 1");
220 counter.Restart(); 224 counter.Restart();
221 EXPECT_EQ(1u, GetExamples().size()); 225 EXPECT_EQ(1u, GetExamples().size());
222 EXPECT_EQ("App 1", GetExamples().front()); 226 EXPECT_EQ("App 1", GetExamples().front());
223 227
224 AddHostedAppWithName("App 2"); 228 AddHostedAppWithName("App 2");
225 counter.Restart(); 229 counter.Restart();
226 EXPECT_EQ(2u, GetExamples().size()); 230 EXPECT_EQ(2u, GetExamples().size());
227 EXPECT_EQ("App 1", GetExamples().front()); 231 EXPECT_EQ("App 1", GetExamples().front());
228 EXPECT_EQ("App 2", GetExamples().back()); 232 EXPECT_EQ("App 2", GetExamples().back());
229 233
230 AddHostedAppWithName("App 3"); 234 AddHostedAppWithName("App 3");
231 counter.Restart(); 235 counter.Restart();
232 EXPECT_EQ(2u, GetExamples().size()); 236 EXPECT_EQ(2u, GetExamples().size());
233 EXPECT_EQ("App 1", GetExamples().front()); 237 EXPECT_EQ("App 1", GetExamples().front());
234 EXPECT_EQ("App 2", GetExamples().back()); 238 EXPECT_EQ("App 2", GetExamples().back());
235 } 239 }
236 240
237 } // namespace 241 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698