| 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 |