Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3034)

Unified Diff: chrome/browser/ui/sync/one_click_signin_helper_unittest.cc

Issue 160363002: OneClickSigninHelper::CanOffer checks IsEnableWebBasedSignin (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/sync/one_click_signin_helper.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 0201fa07238e60ccbf0dba6fe703f7eec623132a..2ff37d760582f548a865c6e0c2dd481960f91fea 100644
--- a/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc
+++ b/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/command_line.h"
#include "base/prefs/pref_service.h"
#include "base/prefs/scoped_user_pref_update.h"
#include "base/strings/utf_string_conversions.h"
@@ -27,6 +28,7 @@
#include "chrome/browser/ui/sync/one_click_signin_helper.h"
#include "chrome/browser/ui/webui/signin/login_ui_service.h"
#include "chrome/browser/ui/webui/signin/login_ui_service_factory.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "chrome/test/base/testing_browser_process.h"
@@ -193,6 +195,7 @@ class OneClickTestProfileSyncService : public TestProfileSyncService {
class OneClickSigninHelperTest : public ChromeRenderViewHostTestHarness {
public:
OneClickSigninHelperTest();
+ virtual ~OneClickSigninHelperTest();
virtual void SetUp() OVERRIDE;
virtual void TearDown() OVERRIDE;
@@ -217,6 +220,11 @@ class OneClickSigninHelperTest : public ChromeRenderViewHostTestHarness {
FakeProfileOAuth2TokenService* fake_oauth2_token_service_;
protected:
+ enum SetupArgument { ENABLE_WEB_BASED_SIGNIN, DISABLE_WEB_BASED_SIGNIN };
+
+ // A helper method to SetUp(void).
+ void SetUp(SetupArgument arg);
+
GoogleServiceAuthError no_error_;
private:
@@ -238,7 +246,17 @@ OneClickSigninHelperTest::OneClickSigninHelperTest()
trusted_signin_process_id_(-1) {
}
+OneClickSigninHelperTest::~OneClickSigninHelperTest() {}
+
void OneClickSigninHelperTest::SetUp() {
+ SetUp(ENABLE_WEB_BASED_SIGNIN);
+}
+
+void OneClickSigninHelperTest::SetUp(SetupArgument arg) {
+ if (arg == ENABLE_WEB_BASED_SIGNIN) {
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kEnableWebBasedSignin);
+ }
signin::ForceWebBasedSigninFlowForTesting(true);
content::RenderViewHostTestHarness::SetUp();
SetTrustedSigninProcessID(process()->GetID());
@@ -334,6 +352,7 @@ content::BrowserContext* OneClickSigninHelperTest::CreateBrowserContext() {
class OneClickSigninHelperIOTest : public OneClickSigninHelperTest {
public:
OneClickSigninHelperIOTest();
+ virtual ~OneClickSigninHelperIOTest();
virtual void SetUp() OVERRIDE;
@@ -354,6 +373,8 @@ OneClickSigninHelperIOTest::OneClickSigninHelperIOTest()
valid_gaia_url_("https://accounts.google.com/") {
}
+OneClickSigninHelperIOTest::~OneClickSigninHelperIOTest() {}
+
void OneClickSigninHelperIOTest::SetUp() {
OneClickSigninHelperTest::SetUp();
ASSERT_TRUE(testing_profile_manager_.SetUp());
@@ -385,6 +406,17 @@ OneClickSigninHelperIncognitoTest::CreateBrowserContext() {
return builder.Build().release();
}
+class OneClickSigninHelperDisableWebBasedSigninTest
+ : public OneClickSigninHelperTest {
+ public:
+ // No additional data members => no need to declare a virtual destructor.
+ virtual void SetUp() OVERRIDE;
+};
+
+void OneClickSigninHelperDisableWebBasedSigninTest::SetUp() {
+ OneClickSigninHelperTest::SetUp(DISABLE_WEB_BASED_SIGNIN);
+}
Roger Tawa OOO till Jul 10th 2014/02/12 15:36:50 Please use testing::TestWithParam and TEST_P macro
vabr (Chromium) 2014/02/12 18:42:15 Modifications to the unit-test dropped.
+
TEST_F(OneClickSigninHelperTest, CanOfferNoContents) {
std::string error_message;
EXPECT_FALSE(OneClickSigninHelper::CanOffer(
@@ -845,3 +877,39 @@ TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) {
OneClickSigninHelper::CanOfferOnIOThreadImpl(
valid_gaia_url_, &request_, io_data.get()));
}
+
+TEST_F(OneClickSigninHelperDisableWebBasedSigninTest, CanOffer) {
+ CreateSigninManager(std::string());
+
+ EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
+ WillRepeatedly(Return(true));
Roger Tawa OOO till Jul 10th 2014/02/12 15:36:50 Indent 2 less.
vabr (Chromium) 2014/02/12 18:42:15 Modifications to the unit-test dropped.
+
+ // Whithout the "enable-web-based-signin" flag, CanOffer should always return
+ // false, independently of the OneClick setting.
+ for (int i = 0; i < 2; ++i) {
+ bool enable_one_click = !i;
+ EnableOneClick(enable_one_click);
+ SCOPED_TRACE(testing::Message()
+ << "enable_one_click = " << enable_one_click);
+ std::string error_message;
+
+ EXPECT_FALSE(OneClickSigninHelper::CanOffer(
+ web_contents(),
+ OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
+ "user@gmail.com",
+ &error_message));
+ EXPECT_EQ("", error_message);
+ EXPECT_FALSE(
+ OneClickSigninHelper::CanOffer(web_contents(),
+ OneClickSigninHelper::CAN_OFFER_FOR_ALL,
+ "user@gmail.com",
+ &error_message));
+ EXPECT_EQ("", error_message);
+ EXPECT_FALSE(OneClickSigninHelper::CanOffer(
+ web_contents(),
+ OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
+ std::string(),
+ &error_message));
+ EXPECT_EQ("", error_message);
+ }
+}
« no previous file with comments | « chrome/browser/ui/sync/one_click_signin_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698