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 84424f7d980ccb74ed5a53eb7ef01687612ce9c5..d3d6e5601665f8f4f291e0dbaa6d17df66ccc45d 100644 |
--- a/content/browser/service_worker/service_worker_database_unittest.cc |
+++ b/content/browser/service_worker/service_worker_database_unittest.cc |
@@ -137,6 +137,23 @@ TEST(ServiceWorkerDatabaseTest, DatabaseVersion) { |
EXPECT_LT(0, db_version); |
} |
+TEST(ServiceWorkerDatabaseTest, DiskCacheVersion) { |
+ scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); |
+ |
+ int64 disk_cache_version = -1; |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->ReadDiskCacheVersion(&disk_cache_version)); |
+ EXPECT_EQ(0u, disk_cache_version); |
+ |
+ disk_cache_version = -1; |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->WriteDiskCacheVersion(3)); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->ReadDiskCacheVersion(&disk_cache_version)); |
+ EXPECT_EQ(3u, disk_cache_version); |
+} |
+ |
TEST(ServiceWorkerDatabaseTest, UpgradeSchemaToVersion2) { |
base::ScopedTempDir database_dir; |
ASSERT_TRUE(database_dir.CreateUniqueTempDir()); |
@@ -1376,6 +1393,46 @@ TEST(ServiceWorkerDatabaseTest, PurgeableResourceIds) { |
EXPECT_EQ(expected, ids_out); |
} |
+TEST(ServiceWorkerDatabaseTest, PurgeableFiles) { |
+ scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
+ |
+ std::vector<std::string> files_out; |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->GetPurgeableFiles(&files_out)); |
+ EXPECT_TRUE(files_out.empty()); |
+ |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->WritePurgeableFile("file1")); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->GetPurgeableFiles(&files_out)); |
+ EXPECT_EQ(1u, files_out.size()); |
+ EXPECT_TRUE(ContainsValue(files_out, "file1")); |
+ |
+ files_out.clear(); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->WritePurgeableFile("file2")); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->GetPurgeableFiles(&files_out)); |
+ EXPECT_EQ(2u, files_out.size()); |
+ EXPECT_TRUE(ContainsValue(files_out, "file1")); |
+ EXPECT_TRUE(ContainsValue(files_out, "file2")); |
+ |
+ files_out.clear(); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->ClearPurgeableFile("file2")); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->GetPurgeableFiles(&files_out)); |
+ EXPECT_EQ(1u, files_out.size()); |
+ EXPECT_TRUE(ContainsValue(files_out, "file1")); |
+ |
+ files_out.clear(); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->ClearPurgeableFile("file1")); |
+ EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
+ database->GetPurgeableFiles(&files_out)); |
+ EXPECT_TRUE(files_out.empty()); |
+} |
+ |
TEST(ServiceWorkerDatabaseTest, DeleteAllDataForOrigin) { |
scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
ServiceWorkerDatabase::RegistrationData deleted_version; |