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

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: Addressed comments Created 4 years, 5 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"
18 #include "components/browsing_data/pref_names.h"
17 #include "components/crx_file/id_util.h" 19 #include "components/crx_file/id_util.h"
18 #include "components/prefs/pref_service.h" 20 #include "components/prefs/pref_service.h"
19 #include "extensions/browser/extension_registry.h" 21 #include "extensions/browser/extension_registry.h"
20 #include "extensions/common/extension_builder.h" 22 #include "extensions/common/extension_builder.h"
21 #include "extensions/common/value_builder.h" 23 #include "extensions/common/value_builder.h"
22 #include "testing/gtest/include/gtest/gtest.h" 24 #include "testing/gtest/include/gtest/gtest.h"
23 25
24 namespace { 26 namespace {
25 27
26 using extensions::DictionaryBuilder; 28 using extensions::DictionaryBuilder;
27 using extensions::ListBuilder; 29 using extensions::ListBuilder;
28 30
29 class HostedAppsCounterTest : public testing::Test { 31 class HostedAppsCounterTest : public testing::Test {
30 public: 32 public:
31 void SetUp() override { 33 void SetUp() override {
32 profile_.reset(new TestingProfile()); 34 profile_.reset(new TestingProfile());
33 extension_registry_ = extensions::ExtensionRegistry::Get(profile_.get()); 35 extension_registry_ = extensions::ExtensionRegistry::Get(profile_.get());
34 36
35 SetHostedAppsDeletionPref(true); 37 SetHostedAppsDeletionPref(true);
36 SetDeletionPeriodPref(BrowsingDataRemover::EVERYTHING); 38 SetDeletionPeriodPref(browsing_data::EVERYTHING);
37 } 39 }
38 40
39 // Adding and removing apps and extensions. ---------------------------------- 41 // Adding and removing apps and extensions. ----------------------------------
40 42
41 std::string AddExtension() { 43 std::string AddExtension() {
42 return AddItem( 44 return AddItem(
43 base::GenerateGUID(), 45 base::GenerateGUID(),
44 std::unique_ptr<base::DictionaryValue>()); 46 std::unique_ptr<base::DictionaryValue>());
45 } 47 }
46 48
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 void RemoveItem(const std::string& id) { 94 void RemoveItem(const std::string& id) {
93 extension_registry_->RemoveEnabled(id); 95 extension_registry_->RemoveEnabled(id);
94 } 96 }
95 97
96 // Setting preferences. ------------------------------------------------------ 98 // Setting preferences. ------------------------------------------------------
97 99
98 void SetHostedAppsDeletionPref(bool value) { 100 void SetHostedAppsDeletionPref(bool value) {
99 GetProfile()->GetPrefs()->SetBoolean(prefs::kDeleteHostedAppsData, value); 101 GetProfile()->GetPrefs()->SetBoolean(prefs::kDeleteHostedAppsData, value);
100 } 102 }
101 103
102 void SetDeletionPeriodPref(BrowsingDataRemover::TimePeriod period) { 104 void SetDeletionPeriodPref(browsing_data::TimePeriod period) {
103 GetProfile()->GetPrefs()->SetInteger( 105 GetProfile()->GetPrefs()->SetInteger(
104 prefs::kDeleteTimePeriod, static_cast<int>(period)); 106 browsing_data::prefs::kDeleteTimePeriod, static_cast<int>(period));
105 } 107 }
106 108
107 // Retrieving counter results. ----------------------------------------------- 109 // Retrieving counter results. -----------------------------------------------
108 110
109 BrowsingDataCounter::ResultInt GetNumHostedApps() { 111 browsing_data::BrowsingDataCounter::ResultInt GetNumHostedApps() {
110 DCHECK(finished_); 112 DCHECK(finished_);
111 return num_apps_; 113 return num_apps_;
112 } 114 }
113 115
114 const std::vector<std::string>& GetExamples() { 116 const std::vector<std::string>& GetExamples() {
115 DCHECK(finished_); 117 DCHECK(finished_);
116 return examples_; 118 return examples_;
117 } 119 }
118 120
119 void Callback(std::unique_ptr<BrowsingDataCounter::Result> result) { 121 void Callback(
122 std::unique_ptr<browsing_data::BrowsingDataCounter::Result> result) {
120 finished_ = result->Finished(); 123 finished_ = result->Finished();
121 124
122 if (finished_) { 125 if (finished_) {
123 HostedAppsCounter::HostedAppsResult* hosted_apps_result = 126 HostedAppsCounter::HostedAppsResult* hosted_apps_result =
124 static_cast<HostedAppsCounter::HostedAppsResult*>(result.get()); 127 static_cast<HostedAppsCounter::HostedAppsResult*>(result.get());
125 128
126 num_apps_ = hosted_apps_result->Value(); 129 num_apps_ = hosted_apps_result->Value();
127 examples_ = hosted_apps_result->examples(); 130 examples_ = hosted_apps_result->examples();
128 } 131 }
129 } 132 }
130 133
131 // Miscellaneous. ------------------------------------------------------------ 134 // Miscellaneous. ------------------------------------------------------------
132 135
133 Profile* GetProfile() { 136 Profile* GetProfile() {
134 return profile_.get(); 137 return profile_.get();
135 } 138 }
136 139
137 private: 140 private:
138 base::MessageLoop loop_; 141 base::MessageLoop loop_;
139 std::unique_ptr<TestingProfile> profile_; 142 std::unique_ptr<TestingProfile> profile_;
140 extensions::ExtensionRegistry* extension_registry_; 143 extensions::ExtensionRegistry* extension_registry_;
141 144
142 bool finished_; 145 bool finished_;
143 BrowsingDataCounter::ResultInt num_apps_; 146 browsing_data::BrowsingDataCounter::ResultInt num_apps_;
144 std::vector<std::string> examples_; 147 std::vector<std::string> examples_;
145 }; 148 };
146 149
147 // Tests that we count the total number of hosted apps correctly. 150 // Tests that we count the total number of hosted apps correctly.
148 TEST_F(HostedAppsCounterTest, Count) { 151 TEST_F(HostedAppsCounterTest, Count) {
149 HostedAppsCounter counter; 152 Profile* profile = GetProfile();
150 counter.Init(GetProfile(), 153 HostedAppsCounter counter(profile);
151 base::Bind(&HostedAppsCounterTest::Callback, 154 counter.Init(profile->GetPrefs(), base::Bind(&HostedAppsCounterTest::Callback,
152 base::Unretained(this))); 155 base::Unretained(this)));
153 counter.Restart(); 156 counter.Restart();
154 EXPECT_EQ(0u, GetNumHostedApps()); 157 EXPECT_EQ(0u, GetNumHostedApps());
155 158
156 std::string first_app = AddHostedApp(); 159 std::string first_app = AddHostedApp();
157 AddHostedApp(); 160 AddHostedApp();
158 std::string last_app = AddHostedApp(); 161 std::string last_app = AddHostedApp();
159 162
160 counter.Restart(); 163 counter.Restart();
161 EXPECT_EQ(3u, GetNumHostedApps()); 164 EXPECT_EQ(3u, GetNumHostedApps());
162 165
163 RemoveItem(last_app); 166 RemoveItem(last_app);
164 RemoveItem(first_app); 167 RemoveItem(first_app);
165 counter.Restart(); 168 counter.Restart();
166 EXPECT_EQ(1u, GetNumHostedApps()); 169 EXPECT_EQ(1u, GetNumHostedApps());
167 170
168 AddHostedApp(); 171 AddHostedApp();
169 counter.Restart(); 172 counter.Restart();
170 EXPECT_EQ(2u, GetNumHostedApps()); 173 EXPECT_EQ(2u, GetNumHostedApps());
171 } 174 }
172 175
173 // Tests that we only count hosted apps, not packaged apps or extensions. 176 // Tests that we only count hosted apps, not packaged apps or extensions.
174 TEST_F(HostedAppsCounterTest, OnlyHostedApps) { 177 TEST_F(HostedAppsCounterTest, OnlyHostedApps) {
175 HostedAppsCounter counter; 178 Profile* profile = GetProfile();
176 counter.Init(GetProfile(), 179 HostedAppsCounter counter(profile);
177 base::Bind(&HostedAppsCounterTest::Callback, 180 counter.Init(profile->GetPrefs(), base::Bind(&HostedAppsCounterTest::Callback,
178 base::Unretained(this))); 181 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(profile->GetPrefs(), base::Bind(&HostedAppsCounterTest::Callback,
215 base::Unretained(this))); 218 base::Unretained(this)));
216 counter.Restart(); 219 counter.Restart();
217 EXPECT_EQ(0u, GetExamples().size()); 220 EXPECT_EQ(0u, GetExamples().size());
218 221
219 AddHostedAppWithName("App 1"); 222 AddHostedAppWithName("App 1");
220 counter.Restart(); 223 counter.Restart();
221 EXPECT_EQ(1u, GetExamples().size()); 224 EXPECT_EQ(1u, GetExamples().size());
222 EXPECT_EQ("App 1", GetExamples().front()); 225 EXPECT_EQ("App 1", GetExamples().front());
223 226
224 AddHostedAppWithName("App 2"); 227 AddHostedAppWithName("App 2");
225 counter.Restart(); 228 counter.Restart();
226 EXPECT_EQ(2u, GetExamples().size()); 229 EXPECT_EQ(2u, GetExamples().size());
227 EXPECT_EQ("App 1", GetExamples().front()); 230 EXPECT_EQ("App 1", GetExamples().front());
228 EXPECT_EQ("App 2", GetExamples().back()); 231 EXPECT_EQ("App 2", GetExamples().back());
229 232
230 AddHostedAppWithName("App 3"); 233 AddHostedAppWithName("App 3");
231 counter.Restart(); 234 counter.Restart();
232 EXPECT_EQ(2u, GetExamples().size()); 235 EXPECT_EQ(2u, GetExamples().size());
233 EXPECT_EQ("App 1", GetExamples().front()); 236 EXPECT_EQ("App 1", GetExamples().front());
234 EXPECT_EQ("App 2", GetExamples().back()); 237 EXPECT_EQ("App 2", GetExamples().back());
235 } 238 }
236 239
237 } // namespace 240 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698