Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <iterator> | 6 #include <iterator> |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 287 EXPECT_EQ(0U, origins.count(kOrigin3)); | 287 EXPECT_EQ(0U, origins.count(kOrigin3)); |
| 288 | 288 |
| 289 EXPECT_TRUE(db.GetOriginsModifiedSince( | 289 EXPECT_TRUE(db.GetOriginsModifiedSince( |
| 290 kStorageTypePersistent, &origins, base::Time::FromInternalValue(35))); | 290 kStorageTypePersistent, &origins, base::Time::FromInternalValue(35))); |
| 291 EXPECT_EQ(1U, origins.size()); | 291 EXPECT_EQ(1U, origins.size()); |
| 292 EXPECT_EQ(0U, origins.count(kOrigin1)); | 292 EXPECT_EQ(0U, origins.count(kOrigin1)); |
| 293 EXPECT_EQ(1U, origins.count(kOrigin2)); | 293 EXPECT_EQ(1U, origins.count(kOrigin2)); |
| 294 EXPECT_EQ(0U, origins.count(kOrigin3)); | 294 EXPECT_EQ(0U, origins.count(kOrigin3)); |
| 295 } | 295 } |
| 296 | 296 |
| 297 void OriginLastEvicted(const base::FilePath& kDbFile) { | |
| 298 QuotaDatabase db(kDbFile); | |
| 299 ASSERT_TRUE(db.LazyOpen(true)); | |
| 300 | |
| 301 const GURL kOrigin1("http://a/"); | |
| 302 const GURL kOrigin2("http://b/"); | |
| 303 const GURL kOrigin3("http://c/"); | |
| 304 | |
| 305 base::Time last_eviction_time; | |
| 306 EXPECT_TRUE(db.GetOriginLastEvictionTime(kOrigin1, kStorageTypeTemporary, | |
| 307 &last_eviction_time)); | |
| 308 EXPECT_EQ(base::Time(), last_eviction_time); | |
|
michaeln
2015/10/13 21:35:36
thnx for the tests!
also test DeleteOriginLastEvi
calamity
2015/10/15 07:56:43
Done.
| |
| 309 | |
| 310 // Report last eviction time for the test origins. | |
| 311 EXPECT_TRUE(db.SetOriginLastEvictionTime( | |
| 312 kOrigin1, kStorageTypeTemporary, base::Time::FromInternalValue(10))); | |
| 313 EXPECT_TRUE(db.SetOriginLastEvictionTime( | |
| 314 kOrigin2, kStorageTypeTemporary, base::Time::FromInternalValue(20))); | |
| 315 EXPECT_TRUE(db.SetOriginLastEvictionTime( | |
| 316 kOrigin3, kStorageTypeTemporary, base::Time::FromInternalValue(30))); | |
| 317 | |
| 318 EXPECT_TRUE(db.GetOriginLastEvictionTime(kOrigin1, kStorageTypeTemporary, | |
| 319 &last_eviction_time)); | |
| 320 EXPECT_EQ(base::Time::FromInternalValue(10), last_eviction_time); | |
| 321 EXPECT_TRUE(db.GetOriginLastEvictionTime(kOrigin2, kStorageTypeTemporary, | |
| 322 &last_eviction_time)); | |
| 323 EXPECT_EQ(base::Time::FromInternalValue(20), last_eviction_time); | |
| 324 EXPECT_TRUE(db.GetOriginLastEvictionTime(kOrigin3, kStorageTypeTemporary, | |
| 325 &last_eviction_time)); | |
| 326 EXPECT_EQ(base::Time::FromInternalValue(30), last_eviction_time); | |
| 327 | |
| 328 // Delete last eviction times for the test origins. | |
| 329 EXPECT_TRUE( | |
| 330 db.DeleteOriginLastEvictionTime(kOrigin1, kStorageTypeTemporary)); | |
| 331 EXPECT_TRUE( | |
| 332 db.DeleteOriginLastEvictionTime(kOrigin2, kStorageTypeTemporary)); | |
| 333 EXPECT_TRUE( | |
| 334 db.DeleteOriginLastEvictionTime(kOrigin3, kStorageTypeTemporary)); | |
| 335 | |
| 336 last_eviction_time = base::Time(); | |
| 337 EXPECT_TRUE(db.GetOriginLastEvictionTime(kOrigin1, kStorageTypeTemporary, | |
| 338 &last_eviction_time)); | |
| 339 EXPECT_EQ(base::Time(), last_eviction_time); | |
| 340 EXPECT_TRUE(db.GetOriginLastEvictionTime(kOrigin2, kStorageTypeTemporary, | |
| 341 &last_eviction_time)); | |
| 342 EXPECT_EQ(base::Time(), last_eviction_time); | |
| 343 EXPECT_TRUE(db.GetOriginLastEvictionTime(kOrigin3, kStorageTypeTemporary, | |
| 344 &last_eviction_time)); | |
| 345 EXPECT_EQ(base::Time(), last_eviction_time); | |
| 346 } | |
| 347 | |
| 297 void RegisterInitialOriginInfo(const base::FilePath& kDbFile) { | 348 void RegisterInitialOriginInfo(const base::FilePath& kDbFile) { |
| 298 QuotaDatabase db(kDbFile); | 349 QuotaDatabase db(kDbFile); |
| 299 | 350 |
| 300 const GURL kOrigins[] = { | 351 const GURL kOrigins[] = { |
| 301 GURL("http://a/"), | 352 GURL("http://a/"), |
| 302 GURL("http://b/"), | 353 GURL("http://b/"), |
| 303 GURL("http://c/") }; | 354 GURL("http://c/") }; |
| 304 std::set<GURL> origins(kOrigins, kOrigins + arraysize(kOrigins)); | 355 std::set<GURL> origins(kOrigins, kOrigins + arraysize(kOrigins)); |
| 305 | 356 |
| 306 EXPECT_TRUE(db.RegisterInitialOriginInfo(origins, kStorageTypeTemporary)); | 357 EXPECT_TRUE(db.RegisterInitialOriginInfo(origins, kStorageTypeTemporary)); |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 534 } | 585 } |
| 535 | 586 |
| 536 TEST_F(QuotaDatabaseTest, OriginLastModifiedSince) { | 587 TEST_F(QuotaDatabaseTest, OriginLastModifiedSince) { |
| 537 base::ScopedTempDir data_dir; | 588 base::ScopedTempDir data_dir; |
| 538 ASSERT_TRUE(data_dir.CreateUniqueTempDir()); | 589 ASSERT_TRUE(data_dir.CreateUniqueTempDir()); |
| 539 const base::FilePath kDbFile = data_dir.path().AppendASCII(kDBFileName); | 590 const base::FilePath kDbFile = data_dir.path().AppendASCII(kDBFileName); |
| 540 OriginLastModifiedSince(kDbFile); | 591 OriginLastModifiedSince(kDbFile); |
| 541 OriginLastModifiedSince(base::FilePath()); | 592 OriginLastModifiedSince(base::FilePath()); |
| 542 } | 593 } |
| 543 | 594 |
| 595 TEST_F(QuotaDatabaseTest, OriginLastEvicted) { | |
| 596 base::ScopedTempDir data_dir; | |
| 597 ASSERT_TRUE(data_dir.CreateUniqueTempDir()); | |
| 598 const base::FilePath kDbFile = data_dir.path().AppendASCII(kDBFileName); | |
| 599 OriginLastEvicted(kDbFile); | |
| 600 OriginLastEvicted(base::FilePath()); | |
| 601 } | |
| 602 | |
| 544 TEST_F(QuotaDatabaseTest, BootstrapFlag) { | 603 TEST_F(QuotaDatabaseTest, BootstrapFlag) { |
| 545 base::ScopedTempDir data_dir; | 604 base::ScopedTempDir data_dir; |
| 546 ASSERT_TRUE(data_dir.CreateUniqueTempDir()); | 605 ASSERT_TRUE(data_dir.CreateUniqueTempDir()); |
| 547 | 606 |
| 548 const base::FilePath kDbFile = data_dir.path().AppendASCII(kDBFileName); | 607 const base::FilePath kDbFile = data_dir.path().AppendASCII(kDBFileName); |
| 549 QuotaDatabase db(kDbFile); | 608 QuotaDatabase db(kDbFile); |
| 550 | 609 |
| 551 EXPECT_FALSE(db.IsOriginDatabaseBootstrapped()); | 610 EXPECT_FALSE(db.IsOriginDatabaseBootstrapped()); |
| 552 EXPECT_TRUE(db.SetOriginDatabaseBootstrapped(true)); | 611 EXPECT_TRUE(db.SetOriginDatabaseBootstrapped(true)); |
| 553 EXPECT_TRUE(db.IsOriginDatabaseBootstrapped()); | 612 EXPECT_TRUE(db.IsOriginDatabaseBootstrapped()); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 585 const base::FilePath kDbFile = data_dir.path().AppendASCII(kDBFileName); | 644 const base::FilePath kDbFile = data_dir.path().AppendASCII(kDBFileName); |
| 586 LazyOpen(kDbFile); | 645 LazyOpen(kDbFile); |
| 587 ASSERT_TRUE(sql::test::CorruptSizeInHeader(kDbFile)); | 646 ASSERT_TRUE(sql::test::CorruptSizeInHeader(kDbFile)); |
| 588 sql::ScopedErrorIgnorer ignore_errors; | 647 sql::ScopedErrorIgnorer ignore_errors; |
| 589 ignore_errors.IgnoreError(SQLITE_CORRUPT); | 648 ignore_errors.IgnoreError(SQLITE_CORRUPT); |
| 590 Reopen(kDbFile); | 649 Reopen(kDbFile); |
| 591 EXPECT_TRUE(ignore_errors.CheckIgnoredErrors()); | 650 EXPECT_TRUE(ignore_errors.CheckIgnoredErrors()); |
| 592 } | 651 } |
| 593 | 652 |
| 594 } // namespace content | 653 } // namespace content |
| OLD | NEW |