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 15ccc3b3fb86d2f0df9d441ac7212b234a2b56be..c53c4aae7f09b4f8e2923580db1d5f6ce880a9c3 100644 |
--- a/chrome/browser/sync/profile_sync_service_unittest.cc |
+++ b/chrome/browser/sync/profile_sync_service_unittest.cc |
@@ -16,6 +16,7 @@ |
#include "chrome/browser/sync/glue/data_type_controller.h" |
#include "chrome/browser/sync/profile_sync_components_factory_mock.h" |
#include "chrome/browser/sync/test_profile_sync_service.h" |
+#include "chrome/common/chrome_notification_types.h" |
#include "chrome/common/chrome_version_info.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/test/base/testing_pref_service_syncable.h" |
@@ -222,6 +223,43 @@ TEST_F(ProfileSyncServiceTest, DisabledByPolicy) { |
EXPECT_TRUE(harness_.service->IsManaged()); |
} |
+TEST_F(ProfileSyncServiceTest, DisabledByAdmin) { |
+ harness_.profile->GetTestingPrefService()->SetUserPref( |
+ prefs::kSyncDisabledByAdmin, |
+ Value::CreateBooleanValue(true)); |
+ SigninManagerBase* signin = |
+ SigninManagerFactory::GetForProfile(harness_.profile.get()); |
+ harness_.service.reset(new TestProfileSyncService( |
+ new ProfileSyncComponentsFactoryMock(), |
+ harness_.profile.get(), |
+ signin, |
+ ProfileSyncService::MANUAL_START, |
+ true)); |
+ harness_.service->Initialize(); |
+ EXPECT_TRUE(harness_.service->IsManaged()); |
+ |
+ content::Source<Profile> stub_source(NULL); |
+ content::NotificationDetails stub_details; |
+ |
+ harness_.service->Observe(chrome::NOTIFICATION_GOOGLE_SIGNED_OUT, |
+ stub_source, stub_details); |
+ EXPECT_FALSE(harness_.profile->GetTestingPrefService()->GetBoolean( |
+ prefs::kSyncDisabledByAdmin)); |
+ |
+ harness_.service->Shutdown(); |
+ |
+ harness_.service.reset(new TestProfileSyncService( |
+ new ProfileSyncComponentsFactoryMock(), |
+ harness_.profile.get(), |
+ signin, |
+ ProfileSyncService::MANUAL_START, |
+ true)); |
+ harness_.service->Initialize(); |
+ EXPECT_FALSE(harness_.service->IsManaged()); |
+ harness_.service->Shutdown(); |
+ harness_.service.reset(); |
+} |
+ |
TEST_F(ProfileSyncServiceTest, AbortedByShutdown) { |
SigninManagerBase* signin = |
SigninManagerFactory::GetForProfile(harness_.profile.get()); |