Chromium Code Reviews| 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 8f88c311d8b1d87c066ddb94e7f160cac3a1455b..14a928eabca8ec9585bd61eae37e6846fe62a752 100644 |
| --- a/content/browser/service_worker/service_worker_database_unittest.cc |
| +++ b/content/browser/service_worker/service_worker_database_unittest.cc |
| @@ -519,6 +519,95 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { |
| VerifyResourceRecords(resources2, resources_out); |
| } |
| +TEST(ServiceWorkerDatabaseTest, UpdateVersionToActive) { |
| + scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
| + GURL origin("http://example.com"); |
| + |
| + // Should be false because a registration does not exist. |
| + EXPECT_FALSE(database->UpdateVersionToActive(0, origin)); |
| + |
| + // Add a registration. |
| + RegistrationData data; |
| + data.registration_id = 100; |
| + data.scope = URL(origin, "/foo"); |
| + data.script = URL(origin, "/script.js"); |
| + data.version_id = 200; |
| + data.is_active = false; |
| + EXPECT_TRUE(database->WriteRegistration(data, std::vector<Resource>())); |
| + |
| + // Make sure that the registration is stored. |
| + RegistrationData data_out; |
| + std::vector<Resource> resources_out; |
| + EXPECT_TRUE(database->ReadRegistration( |
| + data.registration_id, origin, &data_out, &resources_out)); |
| + VerifyRegistrationData(data, data_out); |
| + EXPECT_TRUE(resources_out.empty()); |
| + |
| + // Activate the registration. |
| + EXPECT_TRUE(database->UpdateVersionToActive(data.registration_id, origin)); |
| + |
| + // Make sure that the registration is activated. |
| + resources_out.clear(); |
| + EXPECT_TRUE(database->ReadRegistration( |
| + data.registration_id, origin, &data_out, &resources_out)); |
| + RegistrationData expected_data = data; |
| + expected_data.is_active = true; |
| + VerifyRegistrationData(expected_data, data_out); |
| + EXPECT_TRUE(resources_out.empty()); |
| + |
| + // Delete the registration. |
| + EXPECT_TRUE(database->DeleteRegistration(data.registration_id, origin)); |
| + |
| + // Should be false because the registration is gone. |
| + EXPECT_FALSE(database->UpdateVersionToActive(data.registration_id, origin)); |
| +} |
| + |
| +TEST(ServiceWorkerDatabaseTest, UpdateLastCheckTime) { |
|
nhiroki
2014/05/16 08:41:56
Btw, though base::Time could be decreased when a u
|
| + scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
| + GURL origin("http://example.com"); |
| + |
| + // Should be false because a registration does not exist. |
| + EXPECT_FALSE(database->UpdateLastCheckTime(0, origin, base::Time::Now())); |
| + |
| + // Add a registration. |
| + RegistrationData data; |
| + data.registration_id = 100; |
| + data.scope = URL(origin, "/foo"); |
| + data.script = URL(origin, "/script.js"); |
| + data.version_id = 200; |
| + data.last_update_check = base::Time::Now(); |
| + EXPECT_TRUE(database->WriteRegistration(data, std::vector<Resource>())); |
| + |
| + // Make sure that the registration is stored. |
| + RegistrationData data_out; |
| + std::vector<Resource> resources_out; |
| + EXPECT_TRUE(database->ReadRegistration( |
| + data.registration_id, origin, &data_out, &resources_out)); |
| + VerifyRegistrationData(data, data_out); |
| + EXPECT_TRUE(resources_out.empty()); |
| + |
| + // Update the last update check time. |
| + base::Time updated_time = base::Time::Now(); |
| + EXPECT_TRUE(database->UpdateLastCheckTime( |
| + data.registration_id, origin, updated_time)); |
| + |
| + // Make sure that the registration is updated. |
| + resources_out.clear(); |
| + EXPECT_TRUE(database->ReadRegistration( |
| + data.registration_id, origin, &data_out, &resources_out)); |
| + RegistrationData expected_data = data; |
| + expected_data.last_update_check = updated_time; |
| + VerifyRegistrationData(expected_data, data_out); |
| + EXPECT_TRUE(resources_out.empty()); |
| + |
| + // Delete the registration. |
| + EXPECT_TRUE(database->DeleteRegistration(data.registration_id, origin)); |
| + |
| + // Should be false because the registration is gone. |
| + EXPECT_FALSE(database->UpdateLastCheckTime( |
| + data.registration_id, origin, base::Time::Now())); |
| +} |
| + |
| TEST(ServiceWorkerDatabaseTest, UncommittedResourceIds) { |
| scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |