Index: chrome/browser/ui/sync/one_click_signin_helper_unittest.cc |
=================================================================== |
--- chrome/browser/ui/sync/one_click_signin_helper_unittest.cc (revision 142948) |
+++ 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,68 @@ |
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, "", false)); |
} |
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, "user@gmail.com", |
+ 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, "user@gmail.com", |
+ 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)); |
+ EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, |
+ "user@gmail.com", |
+ true)); |
Roger Tawa OOO till Jul 10th
2012/06/21 13:45:51
align 2nd and 3rd arguments with first.
Mathieu
2012/06/26 15:54:13
Done.
|
+ EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents, |
+ "", |
+ 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, "user@gmail.com", |
+ 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, "user@gmail.com", |
+ true)); |
+ EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents, "", false)); |
} |