| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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 // Note that this file only tests the basic behavior of the cache counter, as in | 5 // Note that this file only tests the basic behavior of the cache counter, as in |
| 6 // when it counts and when not, when result is nonzero and when not. It does not | 6 // when it counts and when not, when result is nonzero and when not. It does not |
| 7 // test whether the result of the counting is correct. This is the | 7 // test whether the result of the counting is correct. This is the |
| 8 // responsibility of a lower layer, and is tested in | 8 // responsibility of a lower layer, and is tested in |
| 9 // DiskCacheBackendTest.CalculateSizeOfAllEntries in net_unittests. | 9 // DiskCacheBackendTest.CalculateSizeOfAllEntries in net_unittests. |
| 10 | 10 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 | 27 |
| 28 using content::BrowserContext; | 28 using content::BrowserContext; |
| 29 using content::BrowserThread; | 29 using content::BrowserThread; |
| 30 | 30 |
| 31 namespace { | 31 namespace { |
| 32 | 32 |
| 33 class CacheCounterTest : public InProcessBrowserTest { | 33 class CacheCounterTest : public InProcessBrowserTest { |
| 34 public: | 34 public: |
| 35 void SetUpOnMainThread() override { | 35 void SetUpOnMainThread() override { |
| 36 SetCacheDeletionPref(true); | 36 SetCacheDeletionPref(true); |
| 37 SetDeletionPeriodPref(browsing_data::ALL_TIME); | 37 SetDeletionPeriodPref(browsing_data::TimePeriod::ALL_TIME); |
| 38 } | 38 } |
| 39 | 39 |
| 40 void SetCacheDeletionPref(bool value) { | 40 void SetCacheDeletionPref(bool value) { |
| 41 browser()->profile()->GetPrefs()->SetBoolean( | 41 browser()->profile()->GetPrefs()->SetBoolean( |
| 42 browsing_data::prefs::kDeleteCache, value); | 42 browsing_data::prefs::kDeleteCache, value); |
| 43 } | 43 } |
| 44 | 44 |
| 45 void SetDeletionPeriodPref(browsing_data::TimePeriod period) { | 45 void SetDeletionPeriodPref(browsing_data::TimePeriod period) { |
| 46 browser()->profile()->GetPrefs()->SetInteger( | 46 browser()->profile()->GetPrefs()->SetInteger( |
| 47 browsing_data::prefs::kDeleteTimePeriod, static_cast<int>(period)); | 47 browsing_data::prefs::kDeleteTimePeriod, static_cast<int>(period)); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 browsing_data::BrowsingDataCounter::ResultInt result_; | 176 browsing_data::BrowsingDataCounter::ResultInt result_; |
| 177 bool is_upper_limit_; | 177 bool is_upper_limit_; |
| 178 }; | 178 }; |
| 179 | 179 |
| 180 // Tests that for the empty cache, the result is zero. | 180 // Tests that for the empty cache, the result is zero. |
| 181 IN_PROC_BROWSER_TEST_F(CacheCounterTest, Empty) { | 181 IN_PROC_BROWSER_TEST_F(CacheCounterTest, Empty) { |
| 182 Profile* profile = browser()->profile(); | 182 Profile* profile = browser()->profile(); |
| 183 | 183 |
| 184 CacheCounter counter(profile); | 184 CacheCounter counter(profile); |
| 185 counter.Init( | 185 counter.Init( |
| 186 profile->GetPrefs(), | 186 profile->GetPrefs(), browsing_data::ClearBrowsingDataTab::ADVANCED, |
| 187 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); | 187 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); |
| 188 counter.Restart(); | 188 counter.Restart(); |
| 189 | 189 |
| 190 WaitForIOThread(); | 190 WaitForIOThread(); |
| 191 EXPECT_EQ(0u, GetResult()); | 191 EXPECT_EQ(0u, GetResult()); |
| 192 } | 192 } |
| 193 | 193 |
| 194 // Tests that for a non-empty cache, the result is nonzero. | 194 // Tests that for a non-empty cache, the result is nonzero. |
| 195 IN_PROC_BROWSER_TEST_F(CacheCounterTest, NonEmpty) { | 195 IN_PROC_BROWSER_TEST_F(CacheCounterTest, NonEmpty) { |
| 196 CreateCacheEntry(); | 196 CreateCacheEntry(); |
| 197 | 197 |
| 198 Profile* profile = browser()->profile(); | 198 Profile* profile = browser()->profile(); |
| 199 CacheCounter counter(profile); | 199 CacheCounter counter(profile); |
| 200 counter.Init( | 200 counter.Init( |
| 201 profile->GetPrefs(), | 201 profile->GetPrefs(), browsing_data::ClearBrowsingDataTab::ADVANCED, |
| 202 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); | 202 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); |
| 203 counter.Restart(); | 203 counter.Restart(); |
| 204 | 204 |
| 205 WaitForIOThread(); | 205 WaitForIOThread(); |
| 206 | 206 |
| 207 EXPECT_NE(0u, GetResult()); | 207 EXPECT_NE(0u, GetResult()); |
| 208 } | 208 } |
| 209 | 209 |
| 210 // Tests that after dooming a nonempty cache, the result is zero. | 210 // Tests that after dooming a nonempty cache, the result is zero. |
| 211 IN_PROC_BROWSER_TEST_F(CacheCounterTest, AfterDoom) { | 211 IN_PROC_BROWSER_TEST_F(CacheCounterTest, AfterDoom) { |
| 212 CreateCacheEntry(); | 212 CreateCacheEntry(); |
| 213 | 213 |
| 214 Profile* profile = browser()->profile(); | 214 Profile* profile = browser()->profile(); |
| 215 CacheCounter counter(profile); | 215 CacheCounter counter(profile); |
| 216 counter.Init( | 216 counter.Init( |
| 217 profile->GetPrefs(), | 217 profile->GetPrefs(), browsing_data::ClearBrowsingDataTab::ADVANCED, |
| 218 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); | 218 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); |
| 219 | 219 |
| 220 browsing_data::StoragePartitionHttpCacheDataRemover::CreateForRange( | 220 browsing_data::StoragePartitionHttpCacheDataRemover::CreateForRange( |
| 221 content::BrowserContext::GetDefaultStoragePartition(browser()->profile()), | 221 content::BrowserContext::GetDefaultStoragePartition(browser()->profile()), |
| 222 base::Time(), | 222 base::Time(), |
| 223 base::Time::Max())->Remove( | 223 base::Time::Max())->Remove( |
| 224 base::Bind(&CacheCounter::Restart, | 224 base::Bind(&CacheCounter::Restart, |
| 225 base::Unretained(&counter))); | 225 base::Unretained(&counter))); |
| 226 | 226 |
| 227 WaitForIOThread(); | 227 WaitForIOThread(); |
| 228 EXPECT_EQ(0u, GetResult()); | 228 EXPECT_EQ(0u, GetResult()); |
| 229 } | 229 } |
| 230 | 230 |
| 231 // Tests that the counter starts counting automatically when the deletion | 231 // Tests that the counter starts counting automatically when the deletion |
| 232 // pref changes to true. | 232 // pref changes to true. |
| 233 IN_PROC_BROWSER_TEST_F(CacheCounterTest, PrefChanged) { | 233 IN_PROC_BROWSER_TEST_F(CacheCounterTest, PrefChanged) { |
| 234 SetCacheDeletionPref(false); | 234 SetCacheDeletionPref(false); |
| 235 | 235 |
| 236 Profile* profile = browser()->profile(); | 236 Profile* profile = browser()->profile(); |
| 237 CacheCounter counter(profile); | 237 CacheCounter counter(profile); |
| 238 counter.Init( | 238 counter.Init( |
| 239 profile->GetPrefs(), | 239 profile->GetPrefs(), browsing_data::ClearBrowsingDataTab::ADVANCED, |
| 240 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); | 240 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); |
| 241 SetCacheDeletionPref(true); | 241 SetCacheDeletionPref(true); |
| 242 | 242 |
| 243 WaitForIOThread(); | 243 WaitForIOThread(); |
| 244 EXPECT_EQ(0u, GetResult()); | 244 EXPECT_EQ(0u, GetResult()); |
| 245 } | 245 } |
| 246 | 246 |
| 247 // Tests that the counting is restarted when the time period changes. | 247 // Tests that the counting is restarted when the time period changes. |
| 248 IN_PROC_BROWSER_TEST_F(CacheCounterTest, PeriodChanged) { | 248 IN_PROC_BROWSER_TEST_F(CacheCounterTest, PeriodChanged) { |
| 249 CreateCacheEntry(); | 249 CreateCacheEntry(); |
| 250 | 250 |
| 251 Profile* profile = browser()->profile(); | 251 Profile* profile = browser()->profile(); |
| 252 CacheCounter counter(profile); | 252 CacheCounter counter(profile); |
| 253 counter.Init( | 253 counter.Init( |
| 254 profile->GetPrefs(), | 254 profile->GetPrefs(), browsing_data::ClearBrowsingDataTab::ADVANCED, |
| 255 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); | 255 base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this))); |
| 256 | 256 |
| 257 SetDeletionPeriodPref(browsing_data::LAST_HOUR); | 257 SetDeletionPeriodPref(browsing_data::TimePeriod::LAST_HOUR); |
| 258 WaitForIOThread(); | 258 WaitForIOThread(); |
| 259 browsing_data::BrowsingDataCounter::ResultInt result = GetResult(); | 259 browsing_data::BrowsingDataCounter::ResultInt result = GetResult(); |
| 260 | 260 |
| 261 SetDeletionPeriodPref(browsing_data::LAST_DAY); | 261 SetDeletionPeriodPref(browsing_data::TimePeriod::LAST_DAY); |
| 262 WaitForIOThread(); | 262 WaitForIOThread(); |
| 263 EXPECT_EQ(result, GetResult()); | 263 EXPECT_EQ(result, GetResult()); |
| 264 | 264 |
| 265 SetDeletionPeriodPref(browsing_data::LAST_WEEK); | 265 SetDeletionPeriodPref(browsing_data::TimePeriod::LAST_WEEK); |
| 266 WaitForIOThread(); | 266 WaitForIOThread(); |
| 267 EXPECT_EQ(result, GetResult()); | 267 EXPECT_EQ(result, GetResult()); |
| 268 | 268 |
| 269 SetDeletionPeriodPref(browsing_data::FOUR_WEEKS); | 269 SetDeletionPeriodPref(browsing_data::TimePeriod::FOUR_WEEKS); |
| 270 WaitForIOThread(); | 270 WaitForIOThread(); |
| 271 EXPECT_EQ(result, GetResult()); | 271 EXPECT_EQ(result, GetResult()); |
| 272 | 272 |
| 273 SetDeletionPeriodPref(browsing_data::ALL_TIME); | 273 SetDeletionPeriodPref(browsing_data::TimePeriod::ALL_TIME); |
| 274 WaitForIOThread(); | 274 WaitForIOThread(); |
| 275 EXPECT_EQ(result, GetResult()); | 275 EXPECT_EQ(result, GetResult()); |
| 276 EXPECT_FALSE(IsUpperLimit()); | 276 EXPECT_FALSE(IsUpperLimit()); |
| 277 } | 277 } |
| 278 | 278 |
| 279 } // namespace | 279 } // namespace |
| OLD | NEW |