Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1756)

Unified Diff: content/browser/service_worker/service_worker_database_unittest.cc

Issue 285453002: ServiceWorker: Clean up ServiceWorkerDatabaseTest (2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2f01fa610feefff871a33d2fa81dba96a6d07384..49497d42c0e27a36d76e90d7a99f35799e2579a6 100644
--- a/content/browser/service_worker/service_worker_database_unittest.cc
+++ b/content/browser/service_worker/service_worker_database_unittest.cc
@@ -29,16 +29,17 @@ struct AvailableIds {
GURL URL(const GURL& origin, const std::string& path) {
EXPECT_TRUE(origin.is_valid());
- GURL out(origin.GetOrigin().spec() + path);
+ EXPECT_EQ(origin, origin.GetOrigin());
+ GURL out(origin.spec() + path);
EXPECT_TRUE(out.is_valid());
return out;
}
Resource CreateResource(int64 resource_id, const GURL& url) {
+ EXPECT_TRUE(url.is_valid());
Resource resource;
resource.resource_id = resource_id;
resource.url = url;
- EXPECT_TRUE(resource.url.is_valid());
return resource;
}
@@ -63,9 +64,7 @@ void VerifyRegistrationData(const RegistrationData& expected,
void VerifyResourceRecords(const std::vector<Resource>& expected,
const std::vector<Resource>& actual) {
- EXPECT_EQ(expected.size(), actual.size());
- if (expected.size() != actual.size())
- return;
+ ASSERT_EQ(expected.size(), actual.size());
for (size_t i = 0; i < expected.size(); ++i) {
EXPECT_EQ(expected[i].resource_id, actual[i].resource_id);
EXPECT_EQ(expected[i].url, actual[i].url);
@@ -218,7 +217,6 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
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));
origins.clear();
@@ -348,9 +346,6 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) {
VerifyRegistrationData(data4, registrations[3]);
}
-// TODO(nhiroki): Record read/write operations using gtest fixture to avoid
-// building expectations by hand. For example, expected purgeable resource ids
-// should be calculated automatically.
TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
@@ -361,23 +356,19 @@ TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
data.script = URL(origin, "/script.js");
data.version_id = 200;
- Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
- Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
-
std::vector<Resource> resources;
- resources.push_back(resource1);
- resources.push_back(resource2);
+ resources.push_back(CreateResource(1, URL(origin, "/resource1")));
+ resources.push_back(CreateResource(2, URL(origin, "/resource2")));
- // Write |resource1| to the uncommitted list to make sure that writing
+ // Write a resource to the uncommitted list to make sure that writing
// registration removes resource ids associated with the registration from
// the uncommitted list.
std::set<int64> uncommitted_ids;
- uncommitted_ids.insert(resource1.resource_id);
+ uncommitted_ids.insert(resources[0].resource_id);
EXPECT_TRUE(database->WriteUncommittedResourceIds(uncommitted_ids));
std::set<int64> uncommitted_ids_out;
EXPECT_TRUE(database->GetUncommittedResourceIds(&uncommitted_ids_out));
- EXPECT_EQ(1u, uncommitted_ids_out.size());
- EXPECT_TRUE(ContainsKey(uncommitted_ids_out, resource1.resource_id));
+ EXPECT_EQ(uncommitted_ids, uncommitted_ids_out);
EXPECT_TRUE(database->WriteRegistration(data, resources));
@@ -389,13 +380,12 @@ TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
VerifyRegistrationData(data, data_out);
VerifyResourceRecords(resources, resources_out);
- // Make sure that |resource1| is removed from the uncommitted list.
+ // Make sure that the resource is removed from the uncommitted list.
uncommitted_ids_out.clear();
EXPECT_TRUE(database->GetUncommittedResourceIds(&uncommitted_ids_out));
EXPECT_TRUE(uncommitted_ids_out.empty());
- EXPECT_TRUE(database->DeleteRegistration(
- data.registration_id, data.scope.GetOrigin()));
+ EXPECT_TRUE(database->DeleteRegistration(data.registration_id, origin));
// Make sure that the registration and resource records are gone.
resources_out.clear();
@@ -404,11 +394,11 @@ TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
EXPECT_TRUE(resources_out.empty());
// Resources should be purgeable because these are no longer referred.
- std::set<int64> purgeable_resource_ids;
- EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_resource_ids));
- EXPECT_EQ(2u, purgeable_resource_ids.size());
- EXPECT_TRUE(ContainsKey(purgeable_resource_ids, resource1.resource_id));
- EXPECT_TRUE(ContainsKey(purgeable_resource_ids, resource2.resource_id));
+ std::set<int64> purgeable_ids_out;
+ EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_ids_out));
+ EXPECT_EQ(2u, purgeable_ids_out.size());
+ EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources[0].resource_id));
+ EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources[1].resource_id));
}
TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
@@ -421,12 +411,9 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
data.script = URL(origin, "/script.js");
data.version_id = 200;
- Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
- Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
-
std::vector<Resource> resources1;
- resources1.push_back(resource1);
- resources1.push_back(resource2);
+ resources1.push_back(CreateResource(1, URL(origin, "/resource1")));
+ resources1.push_back(CreateResource(2, URL(origin, "/resource2")));
EXPECT_TRUE(database->WriteRegistration(data, resources1));
@@ -441,11 +428,9 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
// Update the registration.
RegistrationData updated_data = data;
updated_data.version_id = data.version_id + 1;
- 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);
+ resources2.push_back(CreateResource(3, URL(origin, "/resource3")));
+ resources2.push_back(CreateResource(4, URL(origin, "/resource4")));
EXPECT_TRUE(database->WriteRegistration(updated_data, resources2));
@@ -457,16 +442,15 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
VerifyRegistrationData(updated_data, data_out);
VerifyResourceRecords(resources2, resources_out);
- std::set<int64> purgeable_resource_ids;
- EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_resource_ids));
- EXPECT_EQ(2u, purgeable_resource_ids.size());
- EXPECT_TRUE(ContainsKey(purgeable_resource_ids, resource1.resource_id));
- EXPECT_TRUE(ContainsKey(purgeable_resource_ids, resource2.resource_id));
+ std::set<int64> purgeable_ids_out;
+ EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_ids_out));
+ EXPECT_EQ(2u, purgeable_ids_out.size());
+ EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources1[0].resource_id));
+ EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources1[1].resource_id));
}
TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
-
GURL origin("http://example.com");
// Add registration1.
@@ -475,14 +459,10 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
data1.scope = URL(origin, "/foo");
data1.script = URL(origin, "/script1.js");
data1.version_id = 200;
- GURL origin1 = data1.scope.GetOrigin();
-
- Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
- Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
std::vector<Resource> resources1;
- resources1.push_back(resource1);
- resources1.push_back(resource2);
+ resources1.push_back(CreateResource(1, URL(origin, "/resource1")));
+ resources1.push_back(CreateResource(2, URL(origin, "/resource2")));
EXPECT_TRUE(database->WriteRegistration(data1, resources1));
// Add registration2.
@@ -491,14 +471,10 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
data2.scope = URL(origin, "/bar");
data2.script = URL(origin, "/script2.js");
data2.version_id = 201;
- GURL origin2 = data2.scope.GetOrigin();
-
- 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);
+ resources2.push_back(CreateResource(3, URL(origin, "/resource3")));
+ resources2.push_back(CreateResource(4, URL(origin, "/resource4")));
EXPECT_TRUE(database->WriteRegistration(data2, resources2));
// Make sure that registration1 is stored.
@@ -516,9 +492,9 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
VerifyRegistrationData(data2, data_out);
VerifyResourceRecords(resources2, resources_out);
- std::set<int64> purgeable_resource_ids;
- EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_resource_ids));
- EXPECT_TRUE(purgeable_resource_ids.empty());
+ std::set<int64> purgeable_ids_out;
+ EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_ids_out));
+ EXPECT_TRUE(purgeable_ids_out.empty());
// Delete registration1.
EXPECT_TRUE(database->DeleteRegistration(data1.registration_id, origin));
@@ -529,11 +505,11 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
data1.registration_id, origin, &data_out, &resources_out));
EXPECT_TRUE(resources_out.empty());
- purgeable_resource_ids.clear();
- EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_resource_ids));
- EXPECT_EQ(2u, purgeable_resource_ids.size());
- EXPECT_TRUE(ContainsKey(purgeable_resource_ids, resource1.resource_id));
- EXPECT_TRUE(ContainsKey(purgeable_resource_ids, resource2.resource_id));
+ purgeable_ids_out.clear();
+ EXPECT_TRUE(database->GetPurgeableResourceIds(&purgeable_ids_out));
+ EXPECT_EQ(2u, purgeable_ids_out.size());
+ EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources1[0].resource_id));
+ EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources1[1].resource_id));
// Make sure that registration2 is still alive.
resources_out.clear();
@@ -555,8 +531,7 @@ TEST(ServiceWorkerDatabaseTest, UncommittedResourceIds) {
std::set<int64> ids_out;
EXPECT_TRUE(database->GetUncommittedResourceIds(&ids_out));
- EXPECT_EQ(ids1.size(), ids_out.size());
- EXPECT_TRUE(base::STLIncludes(ids1, ids_out));
+ EXPECT_EQ(ids1, ids_out);
// Write {2, 4}.
std::set<int64> ids2;
@@ -566,11 +541,8 @@ TEST(ServiceWorkerDatabaseTest, UncommittedResourceIds) {
ids_out.clear();
EXPECT_TRUE(database->GetUncommittedResourceIds(&ids_out));
- EXPECT_EQ(4U, ids_out.size());
- EXPECT_TRUE(ContainsKey(ids_out, 1));
- EXPECT_TRUE(ContainsKey(ids_out, 2));
- EXPECT_TRUE(ContainsKey(ids_out, 3));
- EXPECT_TRUE(ContainsKey(ids_out, 4));
+ std::set<int64> expected = base::STLSetUnion<std::set<int64> >(ids1, ids2);
+ EXPECT_EQ(expected, ids_out);
// Delete {2, 3}.
std::set<int64> ids3;
@@ -580,9 +552,8 @@ TEST(ServiceWorkerDatabaseTest, UncommittedResourceIds) {
ids_out.clear();
EXPECT_TRUE(database->GetUncommittedResourceIds(&ids_out));
- EXPECT_EQ(2U, ids_out.size());
- EXPECT_TRUE(ContainsKey(ids_out, 1));
- EXPECT_TRUE(ContainsKey(ids_out, 4));
+ expected = base::STLSetDifference<std::set<int64> >(expected, ids3);
+ EXPECT_EQ(expected, ids_out);
}
TEST(ServiceWorkerDatabaseTest, PurgeableResourceIds) {
@@ -597,8 +568,7 @@ TEST(ServiceWorkerDatabaseTest, PurgeableResourceIds) {
std::set<int64> ids_out;
EXPECT_TRUE(database->GetPurgeableResourceIds(&ids_out));
- EXPECT_EQ(ids1.size(), ids_out.size());
- EXPECT_TRUE(base::STLIncludes(ids1, ids_out));
+ EXPECT_EQ(ids1, ids_out);
// Write {2, 4}.
std::set<int64> ids2;
@@ -608,11 +578,8 @@ TEST(ServiceWorkerDatabaseTest, PurgeableResourceIds) {
ids_out.clear();
EXPECT_TRUE(database->GetPurgeableResourceIds(&ids_out));
- EXPECT_EQ(4U, ids_out.size());
- EXPECT_TRUE(ContainsKey(ids_out, 1));
- EXPECT_TRUE(ContainsKey(ids_out, 2));
- EXPECT_TRUE(ContainsKey(ids_out, 3));
- EXPECT_TRUE(ContainsKey(ids_out, 4));
+ std::set<int64> expected = base::STLSetUnion<std::set<int64> >(ids1, ids2);
+ EXPECT_EQ(expected, ids_out);
// Delete {2, 3}.
std::set<int64> ids3;
@@ -622,9 +589,8 @@ TEST(ServiceWorkerDatabaseTest, PurgeableResourceIds) {
ids_out.clear();
EXPECT_TRUE(database->GetPurgeableResourceIds(&ids_out));
- EXPECT_EQ(2U, ids_out.size());
- EXPECT_TRUE(ContainsKey(ids_out, 1));
- EXPECT_TRUE(ContainsKey(ids_out, 4));
+ expected = base::STLSetDifference<std::set<int64> >(expected, ids3);
+ EXPECT_EQ(expected, ids_out);
}
TEST(ServiceWorkerDatabaseTest, DeleteAllDataForOrigin) {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698