| Index: components/browser_sync/profile_sync_service_unittest.cc
|
| diff --git a/components/browser_sync/profile_sync_service_unittest.cc b/components/browser_sync/profile_sync_service_unittest.cc
|
| index fc0d17f4356cdd56abf2c413b5ee55c6d9f30ac4..4dd3cb85a24675b73f3981bd21573c7723b0f22f 100644
|
| --- a/components/browser_sync/profile_sync_service_unittest.cc
|
| +++ b/components/browser_sync/profile_sync_service_unittest.cc
|
| @@ -386,7 +386,6 @@ TEST_F(ProfileSyncServiceTest, SuccessfulInitialization) {
|
| TEST_F(ProfileSyncServiceTest, SuccessfulLocalBackendInitialization) {
|
| prefs()->SetManagedPref(syncer::prefs::kSyncManaged,
|
| base::MakeUnique<base::Value>(false));
|
| - IssueTestTokens();
|
| CreateServiceWithLocalSyncBackend();
|
| ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback());
|
| ExpectSyncEngineCreation(1);
|
| @@ -943,6 +942,34 @@ TEST_F(ProfileSyncServiceTest, DisableSyncOnClient) {
|
| EXPECT_FALSE(service()->GetLocalDeviceInfoProvider()->GetLocalDeviceInfo());
|
| }
|
|
|
| +// Verify a that local sync mode resumes after the policy is lifted.
|
| +TEST_F(ProfileSyncServiceTest, LocalBackendDisabledByPolicy) {
|
| + prefs()->SetManagedPref(syncer::prefs::kSyncManaged,
|
| + base::MakeUnique<base::Value>(false));
|
| + CreateServiceWithLocalSyncBackend();
|
| + ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback());
|
| + ExpectSyncEngineCreation(1);
|
| + InitializeForNthSync();
|
| + EXPECT_FALSE(service()->IsManaged());
|
| + EXPECT_TRUE(service()->IsSyncActive());
|
| +
|
| + prefs()->SetManagedPref(syncer::prefs::kSyncManaged,
|
| + base::MakeUnique<base::Value>(true));
|
| +
|
| + EXPECT_TRUE(service()->IsManaged());
|
| + EXPECT_FALSE(service()->IsSyncActive());
|
| +
|
| + prefs()->SetManagedPref(syncer::prefs::kSyncManaged,
|
| + base::MakeUnique<base::Value>(false));
|
| +
|
| + ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback());
|
| + ExpectSyncEngineCreation(1);
|
| +
|
| + service()->RequestStart();
|
| + EXPECT_FALSE(service()->IsManaged());
|
| + EXPECT_TRUE(service()->IsSyncActive());
|
| +}
|
| +
|
| // Regression test for crbug/555434. The issue is that check for sessions DTC in
|
| // OnSessionRestoreComplete was creating map entry with nullptr which later was
|
| // dereferenced in OnSyncCycleCompleted. The fix is to use find() to check if
|
|
|