Index: chrome/browser/ui/sync/one_click_signin_helper_unittest.cc |
diff --git a/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc b/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc |
index 2ffc9fa8e481a6d570641fb68c3d798671c01715..fd37058a4651f0b254c9576da7ed930ed25922a6 100644 |
--- a/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc |
+++ b/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc |
@@ -533,6 +533,18 @@ TEST_F(OneClickSigninHelperTest, CanOfferDisabledByPolicy) { |
web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
"user@gmail.com", NULL)); |
+ // Simulate a policy disabling signin by writing kSigninAllowed directly. |
+ profile_->GetTestingPrefService()->SetManagedPref( |
+ prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); |
+ |
+ EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
+ web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
+ "user@gmail.com", NULL)); |
+ |
+ // Reset the preference value to true. |
+ profile_->GetTestingPrefService()->SetManagedPref( |
+ prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
+ |
// Simulate a policy disabling sync by writing kSyncManaged directly. |
profile_->GetTestingPrefService()->SetManagedPref( |
prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
@@ -690,6 +702,18 @@ TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) { |
OneClickSigninHelper::CanOfferOnIOThreadImpl( |
valid_gaia_url_, "", &request_, io_data.get())); |
+ // Simulate a policy disabling signin by writing kSigninAllowed directly. |
+ // We should not offer to sign in the browser. |
+ profile_->GetTestingPrefService()->SetManagedPref( |
+ prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); |
+ EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
+ OneClickSigninHelper::CanOfferOnIOThreadImpl( |
+ valid_gaia_url_, "", &request_, io_data.get())); |
+ |
+ // Reset the preference. |
+ profile_->GetTestingPrefService()->SetManagedPref( |
+ prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
+ |
// Simulate a policy disabling sync by writing kSyncManaged directly. |
// We should still offer to sign in the browser. |
profile_->GetTestingPrefService()->SetManagedPref( |