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

Unified Diff: content/browser/service_worker/service_worker_database_unittest.cc

Issue 374873002: Service Worker: Delay stale resource cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch for landing Created 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/service_worker/service_worker_database_unittest.cc
diff --git a/content/browser/service_worker/service_worker_database_unittest.cc b/content/browser/service_worker/service_worker_database_unittest.cc
index 4bf042f46e14b602bbe74fc6dd4747b8df68553d..8d88eae27dc334f5d24782a50cdad687561a6c97 100644
--- a/content/browser/service_worker/service_worker_database_unittest.cc
+++ b/content/browser/service_worker/service_worker_database_unittest.cc
@@ -176,6 +176,31 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
EXPECT_EQ(201, ids.ver_id);
EXPECT_EQ(0, ids.res_id);
+ // Writing uncommitted resources bumps the next available id.
+ const int64 kUncommittedIds[] = {0, 1, 3, 5, 6, 10};
+ EXPECT_EQ(
+ ServiceWorkerDatabase::STATUS_OK,
+ database->WriteUncommittedResourceIds(std::set<int64>(
+ kUncommittedIds, kUncommittedIds + arraysize(kUncommittedIds))));
+ EXPECT_EQ(
+ ServiceWorkerDatabase::STATUS_OK,
+ database->GetNextAvailableIds(&ids.reg_id, &ids.ver_id, &ids.res_id));
+ EXPECT_EQ(101, ids.reg_id);
+ EXPECT_EQ(201, ids.ver_id);
+ EXPECT_EQ(11, ids.res_id);
+
+ // Writing purgeable resources bumps the next available id.
+ const int64 kPurgeableIds[] = {4, 12, 16, 17, 20};
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
+ database->WriteUncommittedResourceIds(std::set<int64>(
+ kPurgeableIds, kPurgeableIds + arraysize(kPurgeableIds))));
+ EXPECT_EQ(
+ ServiceWorkerDatabase::STATUS_OK,
+ database->GetNextAvailableIds(&ids.reg_id, &ids.ver_id, &ids.res_id));
+ EXPECT_EQ(101, ids.reg_id);
+ EXPECT_EQ(201, ids.ver_id);
+ EXPECT_EQ(21, ids.res_id);
+
// Writing a registration whose ids are lower than the stored ones should not
// bump the next available ids.
RegistrationData data2;
@@ -188,6 +213,12 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
database->WriteRegistration(
data2, resources, &deleted_version_id, &newly_purgeable_resources));
+ // Same with resources.
+ int64 kLowResourceId = 15;
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
+ database->WriteUncommittedResourceIds(
+ std::set<int64>(&kLowResourceId, &kLowResourceId + 1)));
+
// Close and reopen the database to verify the stored values.
database.reset(CreateDatabase(database_dir.path()));
@@ -195,7 +226,7 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
&ids.reg_id, &ids.ver_id, &ids.res_id));
EXPECT_EQ(101, ids.reg_id);
EXPECT_EQ(201, ids.ver_id);
- EXPECT_EQ(0, ids.res_id);
+ EXPECT_EQ(21, ids.res_id);
}
TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {

Powered by Google App Engine
This is Rietveld 408576698