| 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 cbacfccd208ab9f4c4cd052aedcc8807b6358b59..2f01fa610feefff871a33d2fa81dba96a6d07384 100644
|
| --- a/content/browser/service_worker/service_worker_database_unittest.cc
|
| +++ b/content/browser/service_worker/service_worker_database_unittest.cc
|
| @@ -27,7 +27,6 @@ struct AvailableIds {
|
| ~AvailableIds() {}
|
| };
|
|
|
| -// TODO(nhiroki): Refactor tests using this helper.
|
| GURL URL(const GURL& origin, const std::string& path) {
|
| EXPECT_TRUE(origin.is_valid());
|
| GURL out(origin.GetOrigin().spec() + path);
|
| @@ -35,15 +34,6 @@ GURL URL(const GURL& origin, const std::string& path) {
|
| return out;
|
| }
|
|
|
| -// TODO(nhiroki): Remove this.
|
| -Resource CreateResource(int64 resource_id, const std::string& url) {
|
| - Resource resource;
|
| - resource.resource_id = resource_id;
|
| - resource.url = GURL(url);
|
| - EXPECT_TRUE(resource.url.is_valid());
|
| - return resource;
|
| -}
|
| -
|
| Resource CreateResource(int64 resource_id, const GURL& url) {
|
| Resource resource;
|
| resource.resource_id = resource_id;
|
| @@ -137,9 +127,11 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
|
| ASSERT_TRUE(database_dir.CreateUniqueTempDir());
|
| scoped_ptr<ServiceWorkerDatabase> database(
|
| CreateDatabase(database_dir.path()));
|
| - AvailableIds ids;
|
| +
|
| + GURL origin("http://example.com");
|
|
|
| // The database has never been used, so returns initial values.
|
| + AvailableIds ids;
|
| EXPECT_TRUE(database->GetNextAvailableIds(
|
| &ids.reg_id, &ids.ver_id, &ids.res_id));
|
| EXPECT_EQ(0, ids.reg_id);
|
| @@ -157,8 +149,8 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
|
| std::vector<Resource> resources;
|
| RegistrationData data1;
|
| data1.registration_id = 100;
|
| - data1.scope = GURL("http://example.com/foo");
|
| - data1.script = GURL("http://example.com/script1.js");
|
| + data1.scope = URL(origin, "/foo");
|
| + data1.script = URL(origin, "/script1.js");
|
| data1.version_id = 200;
|
| ASSERT_TRUE(database->WriteRegistration(data1, resources));
|
|
|
| @@ -172,8 +164,8 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
|
| // bump the next available ids.
|
| RegistrationData data2;
|
| data2.registration_id = 10;
|
| - data2.scope = GURL("http://example.com/bar");
|
| - data2.script = GURL("http://example.com/script2.js");
|
| + data2.scope = URL(origin, "/bar");
|
| + data2.script = URL(origin, "/script2.js");
|
| data2.version_id = 20;
|
| ASSERT_TRUE(database->WriteRegistration(data2, resources));
|
|
|
| @@ -196,35 +188,35 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
|
|
|
| std::vector<Resource> resources;
|
|
|
| + GURL origin1("http://example.com");
|
| RegistrationData data1;
|
| data1.registration_id = 123;
|
| - data1.scope = GURL("http://example.com/foo");
|
| - data1.script = GURL("http://example.com/script1.js");
|
| + data1.scope = URL(origin1, "/foo");
|
| + data1.script = URL(origin1, "/script1.js");
|
| data1.version_id = 456;
|
| - GURL origin1 = data1.script.GetOrigin();
|
| ASSERT_TRUE(database->WriteRegistration(data1, resources));
|
|
|
| + GURL origin2("https://www.example.com");
|
| RegistrationData data2;
|
| data2.registration_id = 234;
|
| - data2.scope = GURL("https://www.example.com/bar");
|
| - data2.script = GURL("https://www.example.com/script2.js");
|
| + data2.scope = URL(origin2, "/bar");
|
| + data2.script = URL(origin2, "/script2.js");
|
| data2.version_id = 567;
|
| - GURL origin2 = data2.script.GetOrigin();
|
| ASSERT_TRUE(database->WriteRegistration(data2, resources));
|
|
|
| + GURL origin3("https://example.org");
|
| RegistrationData data3;
|
| data3.registration_id = 345;
|
| - data3.scope = GURL("https://example.org/hoge");
|
| - data3.script = GURL("https://example.org/script3.js");
|
| + data3.scope = URL(origin3, "/hoge");
|
| + data3.script = URL(origin3, "/script3.js");
|
| data3.version_id = 678;
|
| - GURL origin3 = data3.script.GetOrigin();
|
| ASSERT_TRUE(database->WriteRegistration(data3, resources));
|
|
|
| // |origin3| has two registrations.
|
| RegistrationData data4;
|
| data4.registration_id = 456;
|
| - data4.scope = GURL("https://example.org/fuga");
|
| - data4.script = GURL("https://example.org/script4.js");
|
| + data4.scope = URL(origin3, "/fuga");
|
| + data4.script = URL(origin3, "/script4.js");
|
| data4.version_id = 789;
|
| ASSERT_EQ(origin3, data4.scope.GetOrigin());
|
| ASSERT_TRUE(database->WriteRegistration(data4, resources));
|
| @@ -260,44 +252,47 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
|
| TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) {
|
| scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
|
|
|
| - GURL origin("https://example.org");
|
| + GURL origin1("http://example.com");
|
| + GURL origin2("https://www.example.com");
|
| + GURL origin3("https://example.org");
|
| +
|
| std::vector<RegistrationData> registrations;
|
| - EXPECT_TRUE(database->GetRegistrationsForOrigin(origin, ®istrations));
|
| + EXPECT_TRUE(database->GetRegistrationsForOrigin(origin1, ®istrations));
|
| EXPECT_TRUE(registrations.empty());
|
|
|
| std::vector<Resource> resources;
|
|
|
| RegistrationData data1;
|
| data1.registration_id = 100;
|
| - data1.scope = GURL("http://example.com/foo");
|
| - data1.script = GURL("http://example.com/script1.js");
|
| + data1.scope = URL(origin1, "/foo");
|
| + data1.script = URL(origin1, "/script1.js");
|
| data1.version_id = 1000;
|
| ASSERT_TRUE(database->WriteRegistration(data1, resources));
|
|
|
| RegistrationData data2;
|
| data2.registration_id = 200;
|
| - data2.scope = GURL("https://www.example.com/bar");
|
| - data2.script = GURL("https://www.example.com/script2.js");
|
| + data2.scope = URL(origin2, "/bar");
|
| + data2.script = URL(origin2, "/script2.js");
|
| data2.version_id = 2000;
|
| ASSERT_TRUE(database->WriteRegistration(data2, resources));
|
|
|
| RegistrationData data3;
|
| data3.registration_id = 300;
|
| - data3.scope = GURL("https://example.org/hoge");
|
| - data3.script = GURL("https://example.org/script3.js");
|
| + data3.scope = URL(origin3, "/hoge");
|
| + data3.script = URL(origin3, "/script3.js");
|
| data3.version_id = 3000;
|
| ASSERT_TRUE(database->WriteRegistration(data3, resources));
|
|
|
| - // Same origin with |data3|.
|
| + // |origin3| has two registrations.
|
| RegistrationData data4;
|
| data4.registration_id = 400;
|
| - data4.scope = GURL("https://example.org/fuga");
|
| - data4.script = GURL("https://example.org/script4.js");
|
| + data4.scope = URL(origin3, "/fuga");
|
| + data4.script = URL(origin3, "/script4.js");
|
| data4.version_id = 4000;
|
| ASSERT_TRUE(database->WriteRegistration(data4, resources));
|
|
|
| registrations.clear();
|
| - EXPECT_TRUE(database->GetRegistrationsForOrigin(origin, ®istrations));
|
| + EXPECT_TRUE(database->GetRegistrationsForOrigin(origin3, ®istrations));
|
| EXPECT_EQ(2U, registrations.size());
|
| VerifyRegistrationData(data3, registrations[0]);
|
| VerifyRegistrationData(data4, registrations[1]);
|
| @@ -312,32 +307,35 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) {
|
|
|
| std::vector<Resource> resources;
|
|
|
| + GURL origin1("http://www1.example.com");
|
| RegistrationData data1;
|
| data1.registration_id = 100;
|
| - data1.scope = GURL("http://www1.example.com/foo");
|
| - data1.script = GURL("http://www1.example.com/script1.js");
|
| + data1.scope = URL(origin1, "/foo");
|
| + data1.script = URL(origin1, "/script1.js");
|
| data1.version_id = 1000;
|
| ASSERT_TRUE(database->WriteRegistration(data1, resources));
|
|
|
| + GURL origin2("http://www2.example.com");
|
| RegistrationData data2;
|
| data2.registration_id = 200;
|
| - data2.scope = GURL("http://www2.example.com/bar");
|
| - data2.script = GURL("http://www2.example.com/script2.js");
|
| + data2.scope = URL(origin2, "/bar");
|
| + data2.script = URL(origin2, "/script2.js");
|
| data2.version_id = 2000;
|
| ASSERT_TRUE(database->WriteRegistration(data2, resources));
|
|
|
| + GURL origin3("http://www3.example.com");
|
| RegistrationData data3;
|
| data3.registration_id = 300;
|
| - data3.scope = GURL("http://www3.example.com/hoge");
|
| - data3.script = GURL("http://www3.example.com/script3.js");
|
| + data3.scope = URL(origin3, "/hoge");
|
| + data3.script = URL(origin3, "/script3.js");
|
| data3.version_id = 3000;
|
| ASSERT_TRUE(database->WriteRegistration(data3, resources));
|
|
|
| - // Same origin with |data3|.
|
| + // |origin3| has two registrations.
|
| RegistrationData data4;
|
| data4.registration_id = 400;
|
| - data4.scope = GURL("http://www4.example.com/fuga");
|
| - data4.script = GURL("http://www4.example.com/script4.js");
|
| + data4.scope = URL(origin3, "/fuga");
|
| + data4.script = URL(origin3, "/script4.js");
|
| data4.version_id = 4000;
|
| ASSERT_TRUE(database->WriteRegistration(data4, resources));
|
|
|
| @@ -356,15 +354,15 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) {
|
| TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
|
| scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
|
|
|
| + GURL origin("http://example.com");
|
| RegistrationData data;
|
| data.registration_id = 100;
|
| - data.scope = GURL("http://example.com/foo");
|
| - data.script = GURL("http://example.com/script.js");
|
| + data.scope = URL(origin, "/foo");
|
| + data.script = URL(origin, "/script.js");
|
| data.version_id = 200;
|
| - GURL origin = data.scope.GetOrigin();
|
|
|
| - Resource resource1 = CreateResource(1, "http://example.com/resource1");
|
| - Resource resource2 = CreateResource(2, "http://example.com/resource2");
|
| + Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
|
| + Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
|
|
|
| std::vector<Resource> resources;
|
| resources.push_back(resource1);
|
| @@ -416,15 +414,15 @@ TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
|
| TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
|
| scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
|
|
|
| + GURL origin("http://example.com");
|
| RegistrationData data;
|
| data.registration_id = 100;
|
| - data.scope = GURL("http://example.com/foo");
|
| - data.script = GURL("http://example.com/script.js");
|
| + data.scope = URL(origin, "/foo");
|
| + data.script = URL(origin, "/script.js");
|
| data.version_id = 200;
|
| - GURL origin = data.scope.GetOrigin();
|
|
|
| - Resource resource1 = CreateResource(1, "http://example.com/resource1");
|
| - Resource resource2 = CreateResource(2, "http://example.com/resource2");
|
| + Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
|
| + Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
|
|
|
| std::vector<Resource> resources1;
|
| resources1.push_back(resource1);
|
| @@ -443,8 +441,8 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
|
| // Update the registration.
|
| RegistrationData updated_data = data;
|
| updated_data.version_id = data.version_id + 1;
|
| - Resource resource3 = CreateResource(3, "http://example.com/resource3");
|
| - Resource resource4 = CreateResource(4, "http://example.com/resource4");
|
| + Resource resource3 = CreateResource(3, URL(origin, "/resource3"));
|
| + Resource resource4 = CreateResource(4, URL(origin, "/resource4"));
|
| std::vector<Resource> resources2;
|
| resources2.push_back(resource3);
|
| resources2.push_back(resource4);
|
| @@ -469,16 +467,18 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
|
| TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
|
| scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
|
|
|
| + GURL origin("http://example.com");
|
| +
|
| // Add registration1.
|
| RegistrationData data1;
|
| data1.registration_id = 100;
|
| - data1.scope = GURL("http://example.com/foo");
|
| - data1.script = GURL("http://example.com/script1.js");
|
| + data1.scope = URL(origin, "/foo");
|
| + data1.script = URL(origin, "/script1.js");
|
| data1.version_id = 200;
|
| GURL origin1 = data1.scope.GetOrigin();
|
|
|
| - Resource resource1 = CreateResource(1, "http://example.com/resource1");
|
| - Resource resource2 = CreateResource(2, "http://example.com/resource2");
|
| + Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
|
| + Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
|
|
|
| std::vector<Resource> resources1;
|
| resources1.push_back(resource1);
|
| @@ -488,13 +488,13 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
|
| // Add registration2.
|
| RegistrationData data2;
|
| data2.registration_id = 101;
|
| - data2.scope = GURL("http://example.com/bar");
|
| - data2.script = GURL("http://example.com/script2.js");
|
| + data2.scope = URL(origin, "/bar");
|
| + data2.script = URL(origin, "/script2.js");
|
| data2.version_id = 201;
|
| GURL origin2 = data2.scope.GetOrigin();
|
|
|
| - Resource resource3 = CreateResource(3, "http://example.com/resource3");
|
| - Resource resource4 = CreateResource(4, "http://example.com/resource4");
|
| + Resource resource3 = CreateResource(3, URL(origin, "/resource3"));
|
| + Resource resource4 = CreateResource(4, URL(origin, "/resource4"));
|
|
|
| std::vector<Resource> resources2;
|
| resources2.push_back(resource3);
|
| @@ -505,14 +505,14 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
|
| RegistrationData data_out;
|
| std::vector<Resource> resources_out;
|
| EXPECT_TRUE(database->ReadRegistration(
|
| - data1.registration_id, origin1, &data_out, &resources_out));
|
| + data1.registration_id, origin, &data_out, &resources_out));
|
| VerifyRegistrationData(data1, data_out);
|
| VerifyResourceRecords(resources1, resources_out);
|
|
|
| // Make sure that registration2 is also stored.
|
| resources_out.clear();
|
| EXPECT_TRUE(database->ReadRegistration(
|
| - data2.registration_id, origin2, &data_out, &resources_out));
|
| + data2.registration_id, origin, &data_out, &resources_out));
|
| VerifyRegistrationData(data2, data_out);
|
| VerifyResourceRecords(resources2, resources_out);
|
|
|
| @@ -521,12 +521,12 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
|
| EXPECT_TRUE(purgeable_resource_ids.empty());
|
|
|
| // Delete registration1.
|
| - EXPECT_TRUE(database->DeleteRegistration(data1.registration_id, origin1));
|
| + EXPECT_TRUE(database->DeleteRegistration(data1.registration_id, origin));
|
|
|
| // Make sure that registration1 is gone.
|
| resources_out.clear();
|
| EXPECT_FALSE(database->ReadRegistration(
|
| - data1.registration_id, origin1, &data_out, &resources_out));
|
| + data1.registration_id, origin, &data_out, &resources_out));
|
| EXPECT_TRUE(resources_out.empty());
|
|
|
| purgeable_resource_ids.clear();
|
| @@ -538,7 +538,7 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
|
| // Make sure that registration2 is still alive.
|
| resources_out.clear();
|
| EXPECT_TRUE(database->ReadRegistration(
|
| - data2.registration_id, origin2, &data_out, &resources_out));
|
| + data2.registration_id, origin, &data_out, &resources_out));
|
| VerifyRegistrationData(data2, data_out);
|
| VerifyResourceRecords(resources2, resources_out);
|
| }
|
|
|