| Index: chrome/browser/sync/profile_sync_service_unittest.cc
|
| diff --git a/chrome/browser/sync/profile_sync_service_unittest.cc b/chrome/browser/sync/profile_sync_service_unittest.cc
|
| index 4bd18df6fce0508d130477159002618aab945a15..4379614aef9abe18b54d12a14f764ddd59f9e112 100644
|
| --- a/chrome/browser/sync/profile_sync_service_unittest.cc
|
| +++ b/chrome/browser/sync/profile_sync_service_unittest.cc
|
| @@ -399,6 +399,31 @@ TEST_F(ProfileSyncServiceTest, FailToOpenDatabase) {
|
| EXPECT_FALSE(harness_.service->sync_initialized());
|
| }
|
|
|
| +// Register a handler with the ProfileSyncService, and disable and
|
| +// reenable sync. The handler should get notified of the state
|
| +// changes.
|
| +TEST_F(ProfileSyncServiceTest, DisableInvalidationsOnStop) {
|
| + harness_.StartSyncService();
|
| +
|
| + syncer::FakeInvalidationHandler handler;
|
| + harness_.service->RegisterInvalidationHandler(&handler);
|
| +
|
| + SyncBackendHostForProfileSyncTest* const backend =
|
| + harness_.service->GetBackendForTest();
|
| +
|
| + backend->EmitOnInvalidatorStateChange(syncer::INVALIDATIONS_ENABLED);
|
| + EXPECT_EQ(syncer::INVALIDATIONS_ENABLED, handler.GetInvalidatorState());
|
| +
|
| + harness_.service->StopAndSuppress();
|
| + EXPECT_EQ(syncer::TRANSIENT_INVALIDATION_ERROR,
|
| + handler.GetInvalidatorState());
|
| +
|
| + harness_.service->UnsuppressAndStart();
|
| + EXPECT_EQ(syncer::INVALIDATIONS_ENABLED, handler.GetInvalidatorState());
|
| +
|
| + harness_.service->UnregisterInvalidationHandler(&handler);
|
| +}
|
| +
|
| // Register for some IDs with the ProfileSyncService, restart sync,
|
| // and trigger some invalidation messages. They should still be
|
| // received by the handler.
|
|
|