Chromium Code Reviews| Index: chrome/browser/ui/sync/one_click_signin_helper_unittest.cc |
| =================================================================== |
| --- chrome/browser/ui/sync/one_click_signin_helper_unittest.cc (revision 142386) |
| +++ chrome/browser/ui/sync/one_click_signin_helper_unittest.cc (working copy) |
| @@ -4,6 +4,7 @@ |
| #include "chrome/browser/content_settings/cookie_settings.h" |
| #include "chrome/browser/prefs/pref_service.h" |
| +#include "chrome/browser/prefs/scoped_user_pref_update.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/signin/signin_manager_factory.h" |
| #include "chrome/browser/signin/signin_manager_fake.h" |
| @@ -32,6 +33,7 @@ |
| content::WebContents* CreateMockWebContents(bool use_incognito, |
| const std::string& username); |
| + void AddEmailToOneClickRejectedList(const std::string& email); |
| void EnableOneClick(bool enable); |
| void AllowSigninCookies(bool enable); |
| @@ -77,6 +79,15 @@ |
| pref_service->SetBoolean(prefs::kReverseAutologinEnabled, enable); |
| } |
| +void OneClickSigninHelperTest::AddEmailToOneClickRejectedList( |
| + const std::string& email) { |
| + PrefService* pref_service = Profile::FromBrowserContext( |
| + browser_context_.get())->GetPrefs(); |
| + ListPrefUpdate updater(pref_service, |
| + prefs::kReverseAutologinRejectedEmailList); |
| + updater->AppendIfNotPresent(Value::CreateStringValue(email)); |
| +} |
| + |
| void OneClickSigninHelperTest::AllowSigninCookies(bool enable) { |
| CookieSettings* cookie_settings = |
| CookieSettings::Factory::GetForProfile( |
| @@ -85,44 +96,61 @@ |
| enable ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); |
| } |
| -} // namespace |
| +} // namespace |
| TEST_F(OneClickSigninHelperTest, CanOfferNoContents) { |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(NULL, true)); |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(NULL, false)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(NULL, "user@gmail.com", true)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(NULL, "user@gmail.com", false)); |
|
Roger Tawa OOO till Jul 10th
2012/06/15 17:56:00
Should probably always use an empty email when che
Mathieu
2012/06/21 13:13:00
Done.
|
| } |
| TEST_F(OneClickSigninHelperTest, CanOffer) { |
| content::WebContents* web_contents = CreateMockWebContents(false, ""); |
| EnableOneClick(true); |
| - EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents, true)); |
| - EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents, false)); |
| + EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents, "", true)); |
| + EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents, "", false)); |
| EnableOneClick(false); |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, true)); |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, false)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "", true)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "", false)); |
| } |
| TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) { |
| content::WebContents* web_contents = CreateMockWebContents(false, |
| "foo@gmail.com"); |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, true)); |
| - EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents, false)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, |
| + "foo@gmail.com", |
| + true)); |
|
Roger Tawa OOO till Jul 10th
2012/06/15 17:56:00
should probably add another EXPECT_FALSE case with
Mathieu
2012/06/21 13:13:00
Done.
|
| + EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents, |
| + "foo@gmail.com", |
| + false)); |
| } |
| +TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) { |
| + content::WebContents* web_contents = CreateMockWebContents(false, ""); |
| + |
| + AddEmailToOneClickRejectedList("foo@gmail.com"); |
| + AddEmailToOneClickRejectedList("user@gmail.com"); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "foo@gmail.com", |
| + true)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "user@gmail.com", |
| + true)); |
| + EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents, "john@gmail.com", |
| + true)); |
| +} |
| + |
| TEST_F(OneClickSigninHelperTest, CanOfferIncognito) { |
| content::WebContents* web_contents = CreateMockWebContents(true, ""); |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, true)); |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, false)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "", true)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "", false)); |
| } |
| TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) { |
| content::WebContents* web_contents = CreateMockWebContents(false, ""); |
| AllowSigninCookies(false); |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, true)); |
| - EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, false)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "", true)); |
| + EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "", false)); |
| } |