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

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

Issue 369063004: ServiceWorker: SWRegisterJob should manage status of SWVersion (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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 | « content/browser/service_worker/service_worker_version.cc ('k') | 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_version_unittest.cc
diff --git a/content/browser/service_worker/service_worker_version_unittest.cc b/content/browser/service_worker/service_worker_version_unittest.cc
index 065b593b43b95d105af9ba4749c48c26be0d8a0a..3229d52f1976fd873d901e758f02d036084ded1c 100644
--- a/content/browser/service_worker/service_worker_version_unittest.cc
+++ b/content/browser/service_worker/service_worker_version_unittest.cc
@@ -261,7 +261,7 @@ TEST_F(ServiceWorkerVersionTest, ReceiveMessageFromWorker) {
}
TEST_F(ServiceWorkerVersionTest, InstallAndWaitCompletion) {
- EXPECT_EQ(ServiceWorkerVersion::NEW, version_->status());
+ version_->SetStatus(ServiceWorkerVersion::INSTALLING);
// Dispatch an install event.
ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
@@ -274,16 +274,14 @@ TEST_F(ServiceWorkerVersionTest, InstallAndWaitCompletion) {
base::RunLoop().RunUntilIdle();
- // After successful completion, version's status must be changed to
- // INSTALLED, and status change callback must have been fired.
+ // Version's status must not have changed during installation.
EXPECT_EQ(SERVICE_WORKER_OK, status);
- EXPECT_TRUE(status_change_called);
- EXPECT_EQ(ServiceWorkerVersion::INSTALLED, version_->status());
+ EXPECT_FALSE(status_change_called);
+ EXPECT_EQ(ServiceWorkerVersion::INSTALLING, version_->status());
}
TEST_F(ServiceWorkerVersionTest, ActivateAndWaitCompletion) {
- version_->SetStatus(ServiceWorkerVersion::INSTALLED);
- EXPECT_EQ(ServiceWorkerVersion::INSTALLED, version_->status());
+ version_->SetStatus(ServiceWorkerVersion::ACTIVATING);
// Dispatch an activate event.
ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
@@ -296,11 +294,10 @@ TEST_F(ServiceWorkerVersionTest, ActivateAndWaitCompletion) {
base::RunLoop().RunUntilIdle();
- // After successful completion, version's status must be changed to
- // ACTIVATED, and status change callback must have been fired.
+ // Version's status must not have changed during activation.
EXPECT_EQ(SERVICE_WORKER_OK, status);
- EXPECT_TRUE(status_change_called);
- EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, version_->status());
+ EXPECT_FALSE(status_change_called);
+ EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, version_->status());
}
TEST_F(ServiceWorkerVersionTest, RepeatedlyObserveStatusChanges) {
@@ -311,23 +308,19 @@ TEST_F(ServiceWorkerVersionTest, RepeatedlyObserveStatusChanges) {
version_->RegisterStatusChangeCallback(
base::Bind(&ObserveStatusChanges, version_, &statuses));
- // Dispatch some events.
- ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
- version_->DispatchInstallEvent(-1, CreateReceiverOnCurrentThread(&status));
- base::RunLoop().RunUntilIdle();
- EXPECT_EQ(SERVICE_WORKER_OK, status);
-
- status = SERVICE_WORKER_ERROR_FAILED;
- version_->DispatchActivateEvent(CreateReceiverOnCurrentThread(&status));
- base::RunLoop().RunUntilIdle();
- EXPECT_EQ(SERVICE_WORKER_OK, status);
+ version_->SetStatus(ServiceWorkerVersion::INSTALLING);
+ version_->SetStatus(ServiceWorkerVersion::INSTALLED);
+ version_->SetStatus(ServiceWorkerVersion::ACTIVATING);
+ version_->SetStatus(ServiceWorkerVersion::ACTIVATED);
+ version_->SetStatus(ServiceWorkerVersion::REDUNDANT);
// Verify that we could successfully observe repeated status changes.
- ASSERT_EQ(4U, statuses.size());
+ ASSERT_EQ(5U, statuses.size());
ASSERT_EQ(ServiceWorkerVersion::INSTALLING, statuses[0]);
ASSERT_EQ(ServiceWorkerVersion::INSTALLED, statuses[1]);
ASSERT_EQ(ServiceWorkerVersion::ACTIVATING, statuses[2]);
ASSERT_EQ(ServiceWorkerVersion::ACTIVATED, statuses[3]);
+ ASSERT_EQ(ServiceWorkerVersion::REDUNDANT, statuses[4]);
}
TEST_F(ServiceWorkerVersionTest, AddAndRemoveProcesses) {
« no previous file with comments | « content/browser/service_worker/service_worker_version.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698