| 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 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 } | 384 } |
| 385 | 385 |
| 386 TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) { | 386 TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) { |
| 387 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); | 387 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
| 388 | 388 |
| 389 GURL origin1("http://example.com"); | 389 GURL origin1("http://example.com"); |
| 390 GURL origin2("https://www.example.com"); | 390 GURL origin2("https://www.example.com"); |
| 391 GURL origin3("https://example.org"); | 391 GURL origin3("https://example.org"); |
| 392 | 392 |
| 393 std::vector<RegistrationData> registrations; | 393 std::vector<RegistrationData> registrations; |
| 394 std::vector<std::vector<Resource>> resource_lists; |
| 394 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, | 395 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 395 database->GetRegistrationsForOrigin(origin1, ®istrations)); | 396 database->GetRegistrationsForOrigin(origin1, ®istrations, |
| 397 &resource_lists)); |
| 396 EXPECT_TRUE(registrations.empty()); | 398 EXPECT_TRUE(registrations.empty()); |
| 397 | 399 |
| 398 std::vector<Resource> resources; | 400 std::vector<Resource> resources; |
| 399 ServiceWorkerDatabase::RegistrationData deleted_version; | 401 ServiceWorkerDatabase::RegistrationData deleted_version; |
| 400 std::vector<int64> newly_purgeable_resources; | 402 std::vector<int64> newly_purgeable_resources; |
| 401 | 403 |
| 402 RegistrationData data1; | 404 RegistrationData data1; |
| 403 data1.registration_id = 100; | 405 data1.registration_id = 100; |
| 404 data1.scope = URL(origin1, "/foo"); | 406 data1.scope = URL(origin1, "/foo"); |
| 405 data1.script = URL(origin1, "/script1.js"); | 407 data1.script = URL(origin1, "/script1.js"); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 435 data4.scope = URL(origin3, "/fuga"); | 437 data4.scope = URL(origin3, "/fuga"); |
| 436 data4.script = URL(origin3, "/script4.js"); | 438 data4.script = URL(origin3, "/script4.js"); |
| 437 data4.version_id = 4000; | 439 data4.version_id = 4000; |
| 438 ASSERT_EQ( | 440 ASSERT_EQ( |
| 439 ServiceWorkerDatabase::STATUS_OK, | 441 ServiceWorkerDatabase::STATUS_OK, |
| 440 database->WriteRegistration( | 442 database->WriteRegistration( |
| 441 data4, resources, &deleted_version, &newly_purgeable_resources)); | 443 data4, resources, &deleted_version, &newly_purgeable_resources)); |
| 442 | 444 |
| 443 registrations.clear(); | 445 registrations.clear(); |
| 444 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, | 446 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 445 database->GetRegistrationsForOrigin(origin3, ®istrations)); | 447 database->GetRegistrationsForOrigin(origin3, ®istrations, |
| 448 &resource_lists)); |
| 446 EXPECT_EQ(2U, registrations.size()); | 449 EXPECT_EQ(2U, registrations.size()); |
| 447 VerifyRegistrationData(data3, registrations[0]); | 450 VerifyRegistrationData(data3, registrations[0]); |
| 448 VerifyRegistrationData(data4, registrations[1]); | 451 VerifyRegistrationData(data4, registrations[1]); |
| 449 } | 452 } |
| 450 | 453 |
| 451 TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { | 454 TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { |
| 452 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); | 455 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
| 453 | 456 |
| 454 std::vector<RegistrationData> registrations; | 457 std::vector<RegistrationData> registrations; |
| 455 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, | 458 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| (...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1426 | 1429 |
| 1427 // |origin1| should be removed from the unique origin list. | 1430 // |origin1| should be removed from the unique origin list. |
| 1428 std::set<GURL> unique_origins; | 1431 std::set<GURL> unique_origins; |
| 1429 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, | 1432 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1430 database->GetOriginsWithRegistrations(&unique_origins)); | 1433 database->GetOriginsWithRegistrations(&unique_origins)); |
| 1431 EXPECT_EQ(1u, unique_origins.size()); | 1434 EXPECT_EQ(1u, unique_origins.size()); |
| 1432 EXPECT_TRUE(ContainsKey(unique_origins, origin2)); | 1435 EXPECT_TRUE(ContainsKey(unique_origins, origin2)); |
| 1433 | 1436 |
| 1434 // The registrations for |origin1| should be removed. | 1437 // The registrations for |origin1| should be removed. |
| 1435 std::vector<RegistrationData> registrations; | 1438 std::vector<RegistrationData> registrations; |
| 1439 std::vector<std::vector<Resource>> resource_lists; |
| 1436 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, | 1440 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 1437 database->GetRegistrationsForOrigin(origin1, ®istrations)); | 1441 database->GetRegistrationsForOrigin(origin1, ®istrations, |
| 1442 &resource_lists)); |
| 1438 EXPECT_TRUE(registrations.empty()); | 1443 EXPECT_TRUE(registrations.empty()); |
| 1439 GURL origin_out; | 1444 GURL origin_out; |
| 1440 EXPECT_EQ( | 1445 EXPECT_EQ( |
| 1441 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, | 1446 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, |
| 1442 database->ReadRegistrationOrigin(data1.registration_id, &origin_out)); | 1447 database->ReadRegistrationOrigin(data1.registration_id, &origin_out)); |
| 1443 | 1448 |
| 1444 // The registration for |origin2| should not be removed. | 1449 // The registration for |origin2| should not be removed. |
| 1445 RegistrationData data_out; | 1450 RegistrationData data_out; |
| 1446 std::vector<Resource> resources_out; | 1451 std::vector<Resource> resources_out; |
| 1447 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->ReadRegistration( | 1452 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->ReadRegistration( |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1496 CreateDatabase(database_dir.path())); | 1501 CreateDatabase(database_dir.path())); |
| 1497 | 1502 |
| 1498 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); | 1503 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); |
| 1499 ASSERT_TRUE(base::DirectoryExists(database_dir.path())); | 1504 ASSERT_TRUE(base::DirectoryExists(database_dir.path())); |
| 1500 | 1505 |
| 1501 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->DestroyDatabase()); | 1506 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->DestroyDatabase()); |
| 1502 ASSERT_FALSE(base::DirectoryExists(database_dir.path())); | 1507 ASSERT_FALSE(base::DirectoryExists(database_dir.path())); |
| 1503 } | 1508 } |
| 1504 | 1509 |
| 1505 } // namespace content | 1510 } // namespace content |
| OLD | NEW |