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