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..555a07c1dd950c2f63fc059937700851083b03db 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(origin2, "/script1.js"); |
kinuko
2014/05/12 10:16:29
origin1 ?
nhiroki
2014/05/12 10:22:57
Good catch! Done.
|
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); |
} |