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 "content/browser/service_worker/service_worker_database.h" | 5 #include "content/browser/service_worker/service_worker_database.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 data.resources_total_size_bytes = 10; | 130 data.resources_total_size_bytes = 10; |
131 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, | 131 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, |
132 database->WriteRegistration( | 132 database->WriteRegistration( |
133 data, resources, &deleted_version, &newly_purgeable_resources)); | 133 data, resources, &deleted_version, &newly_purgeable_resources)); |
134 | 134 |
135 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, | 135 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
136 database->ReadDatabaseVersion(&db_version)); | 136 database->ReadDatabaseVersion(&db_version)); |
137 EXPECT_LT(0, db_version); | 137 EXPECT_LT(0, db_version); |
138 } | 138 } |
139 | 139 |
| 140 TEST(ServiceWorkerDatabaseTest, DiskCacheVersion) { |
| 141 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
| 142 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); |
| 143 |
| 144 int64 disk_cache_version = -1; |
| 145 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 146 database->ReadDiskCacheVersion(&disk_cache_version)); |
| 147 EXPECT_EQ(0u, disk_cache_version); |
| 148 |
| 149 disk_cache_version = -1; |
| 150 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 151 database->WriteDiskCacheVersion(3)); |
| 152 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 153 database->ReadDiskCacheVersion(&disk_cache_version)); |
| 154 EXPECT_EQ(3u, disk_cache_version); |
| 155 } |
| 156 |
140 TEST(ServiceWorkerDatabaseTest, UpgradeSchemaToVersion2) { | 157 TEST(ServiceWorkerDatabaseTest, UpgradeSchemaToVersion2) { |
141 base::ScopedTempDir database_dir; | 158 base::ScopedTempDir database_dir; |
142 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); | 159 ASSERT_TRUE(database_dir.CreateUniqueTempDir()); |
143 scoped_ptr<ServiceWorkerDatabase> database( | 160 scoped_ptr<ServiceWorkerDatabase> database( |
144 CreateDatabase(database_dir.path())); | 161 CreateDatabase(database_dir.path())); |
145 | 162 |
146 GURL origin("http://example.com"); | 163 GURL origin("http://example.com"); |
147 | 164 |
148 // Add a registration to the database. | 165 // Add a registration to the database. |
149 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; | 166 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; |
(...skipping 1219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1369 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, | 1386 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
1370 database->ClearPurgeableResourceIds(ids3)); | 1387 database->ClearPurgeableResourceIds(ids3)); |
1371 | 1388 |
1372 ids_out.clear(); | 1389 ids_out.clear(); |
1373 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, | 1390 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
1374 database->GetPurgeableResourceIds(&ids_out)); | 1391 database->GetPurgeableResourceIds(&ids_out)); |
1375 expected = base::STLSetDifference<std::set<int64> >(expected, ids3); | 1392 expected = base::STLSetDifference<std::set<int64> >(expected, ids3); |
1376 EXPECT_EQ(expected, ids_out); | 1393 EXPECT_EQ(expected, ids_out); |
1377 } | 1394 } |
1378 | 1395 |
| 1396 TEST(ServiceWorkerDatabaseTest, PurgeableFiles) { |
| 1397 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
| 1398 |
| 1399 std::vector<std::string> files_out; |
| 1400 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1401 database->GetPurgeableFiles(&files_out)); |
| 1402 EXPECT_TRUE(files_out.empty()); |
| 1403 |
| 1404 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1405 database->WritePurgeableFile("file1")); |
| 1406 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1407 database->GetPurgeableFiles(&files_out)); |
| 1408 EXPECT_EQ(1u, files_out.size()); |
| 1409 EXPECT_TRUE(ContainsValue(files_out, "file1")); |
| 1410 |
| 1411 files_out.clear(); |
| 1412 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1413 database->WritePurgeableFile("file2")); |
| 1414 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1415 database->GetPurgeableFiles(&files_out)); |
| 1416 EXPECT_EQ(2u, files_out.size()); |
| 1417 EXPECT_TRUE(ContainsValue(files_out, "file1")); |
| 1418 EXPECT_TRUE(ContainsValue(files_out, "file2")); |
| 1419 |
| 1420 files_out.clear(); |
| 1421 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1422 database->ClearPurgeableFile("file2")); |
| 1423 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1424 database->GetPurgeableFiles(&files_out)); |
| 1425 EXPECT_EQ(1u, files_out.size()); |
| 1426 EXPECT_TRUE(ContainsValue(files_out, "file1")); |
| 1427 |
| 1428 files_out.clear(); |
| 1429 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1430 database->ClearPurgeableFile("file1")); |
| 1431 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1432 database->GetPurgeableFiles(&files_out)); |
| 1433 EXPECT_TRUE(files_out.empty()); |
| 1434 } |
| 1435 |
1379 TEST(ServiceWorkerDatabaseTest, DeleteAllDataForOrigin) { | 1436 TEST(ServiceWorkerDatabaseTest, DeleteAllDataForOrigin) { |
1380 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); | 1437 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
1381 ServiceWorkerDatabase::RegistrationData deleted_version; | 1438 ServiceWorkerDatabase::RegistrationData deleted_version; |
1382 std::vector<int64> newly_purgeable_resources; | 1439 std::vector<int64> newly_purgeable_resources; |
1383 | 1440 |
1384 // Data associated with |origin1| will be removed. | 1441 // Data associated with |origin1| will be removed. |
1385 GURL origin1("http://example.com"); | 1442 GURL origin1("http://example.com"); |
1386 GURL origin2("http://example.org"); | 1443 GURL origin2("http://example.org"); |
1387 | 1444 |
1388 // |origin1| has two registrations (registration1 and registration2). | 1445 // |origin1| has two registrations (registration1 and registration2). |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1534 CreateDatabase(database_dir.path())); | 1591 CreateDatabase(database_dir.path())); |
1535 | 1592 |
1536 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); | 1593 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); |
1537 ASSERT_TRUE(base::DirectoryExists(database_dir.path())); | 1594 ASSERT_TRUE(base::DirectoryExists(database_dir.path())); |
1538 | 1595 |
1539 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->DestroyDatabase()); | 1596 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->DestroyDatabase()); |
1540 ASSERT_FALSE(base::DirectoryExists(database_dir.path())); | 1597 ASSERT_FALSE(base::DirectoryExists(database_dir.path())); |
1541 } | 1598 } |
1542 | 1599 |
1543 } // namespace content | 1600 } // namespace content |
OLD | NEW |