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

Unified Diff: chrome/browser/ui/search/search_tab_helper_unittest.cc

Issue 336413006: Chrome suggestions are no longer served if the user doesn't sync his history on a given machine (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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
Index: chrome/browser/ui/search/search_tab_helper_unittest.cc
diff --git a/chrome/browser/ui/search/search_tab_helper_unittest.cc b/chrome/browser/ui/search/search_tab_helper_unittest.cc
index cd277ace38b8f428150f81d8a8c7ae2abd885735..92a3124e9513e7ee8cbcfac1fd4513a97b0a5cdc 100644
--- a/chrome/browser/ui/search/search_tab_helper_unittest.cc
+++ b/chrome/browser/ui/search/search_tab_helper_unittest.cc
@@ -12,6 +12,9 @@
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/signin/fake_signin_manager.h"
#include "chrome/browser/signin/signin_manager_factory.h"
+#include "chrome/browser/sync/profile_sync_service.h"
+#include "chrome/browser/sync/profile_sync_service_factory.h"
+#include "chrome/browser/sync/profile_sync_service_mock.h"
#include "chrome/browser/ui/search/search_ipc_router.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_switches.h"
@@ -36,6 +39,8 @@
#include "ui/base/l10n/l10n_util.h"
#include "url/gurl.h"
+using testing::Return;
+
namespace {
class MockSearchIPCRouterDelegate : public SearchIPCRouter::Delegate {
@@ -71,12 +76,16 @@ class SearchTabHelperTest : public ChromeRenderViewHostTestHarness {
TestingProfile::Builder builder;
builder.AddTestingFactory(SigninManagerFactory::GetInstance(),
FakeSigninManagerBase::Build);
+ builder.AddTestingFactory(
+ ProfileSyncServiceFactory::GetInstance(),
+ ProfileSyncServiceMock::BuildMockProfileSyncService);
return builder.Build().release();
}
// Creates a sign-in manager for tests. If |username| is not empty, the
// testing profile of the WebContents will be connected to the given account.
- void CreateSigninManager(const std::string& username) {
+ // The account can be configured to |sync_history| or not.
+ void CreateSigninManager(const std::string& username, bool sync_history) {
SigninManagerBase* signin_manager = static_cast<SigninManagerBase*>(
SigninManagerFactory::GetForProfile(profile()));
@@ -84,6 +93,17 @@ class SearchTabHelperTest : public ChromeRenderViewHostTestHarness {
ASSERT_TRUE(signin_manager);
signin_manager->SetAuthenticatedUsername(username);
}
+
+ ProfileSyncServiceMock* sync_service = static_cast<ProfileSyncServiceMock*>(
+ ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile()));
+
+ EXPECT_CALL(*sync_service, sync_initialized()).WillRepeatedly(Return(true));
+ syncer::ModelTypeSet result;
+ if (sync_history) {
+ result.Put(syncer::HISTORY_DELETE_DIRECTIVES);
+ }
+ EXPECT_CALL(*sync_service, GetActiveDataTypes())
+ .WillRepeatedly(Return(result));
}
bool MessageWasSent(uint32 id) {
@@ -146,7 +166,7 @@ TEST_F(SearchTabHelperTest, PageURLDoesntBelongToInstantRenderer) {
TEST_F(SearchTabHelperTest, OnChromeIdentityCheckMatch) {
NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl));
- CreateSigninManager(std::string("foo@bar.com"));
+ CreateSigninManager(std::string("foo@bar.com"), true);
SearchTabHelper* search_tab_helper =
SearchTabHelper::FromWebContents(web_contents());
ASSERT_NE(static_cast<SearchTabHelper*>(NULL), search_tab_helper);
@@ -166,7 +186,7 @@ TEST_F(SearchTabHelperTest, OnChromeIdentityCheckMatch) {
TEST_F(SearchTabHelperTest, OnChromeIdentityCheckMismatch) {
NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl));
- CreateSigninManager(std::string("foo@bar.com"));
+ CreateSigninManager(std::string("foo@bar.com"), true);
SearchTabHelper* search_tab_helper =
SearchTabHelper::FromWebContents(web_contents());
ASSERT_NE(static_cast<SearchTabHelper*>(NULL), search_tab_helper);
@@ -187,6 +207,9 @@ TEST_F(SearchTabHelperTest, OnChromeIdentityCheckMismatch) {
TEST_F(SearchTabHelperTest, OnChromeIdentityCheckSignedOutMatch) {
NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl));
// This test does not sign in.
+ ProfileSyncServiceMock* sync_service = static_cast<ProfileSyncServiceMock*>(
+ ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile()));
+ EXPECT_CALL(*sync_service, sync_initialized()).WillRepeatedly(Return(false));
SearchTabHelper* search_tab_helper =
SearchTabHelper::FromWebContents(web_contents());
ASSERT_NE(static_cast<SearchTabHelper*>(NULL), search_tab_helper);
@@ -201,12 +224,15 @@ TEST_F(SearchTabHelperTest, OnChromeIdentityCheckSignedOutMatch) {
ChromeViewMsg_ChromeIdentityCheckResult::Param params;
ChromeViewMsg_ChromeIdentityCheckResult::Read(message, &params);
EXPECT_EQ(test_identity, params.a);
- ASSERT_TRUE(params.b);
+ ASSERT_FALSE(params.b);
}
TEST_F(SearchTabHelperTest, OnChromeIdentityCheckSignedOutMismatch) {
NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl));
// This test does not sign in.
+ ProfileSyncServiceMock* sync_service = static_cast<ProfileSyncServiceMock*>(
+ ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile()));
+ EXPECT_CALL(*sync_service, sync_initialized()).WillRepeatedly(Return(false));
SearchTabHelper* search_tab_helper =
SearchTabHelper::FromWebContents(web_contents());
ASSERT_NE(static_cast<SearchTabHelper*>(NULL), search_tab_helper);
@@ -224,6 +250,26 @@ TEST_F(SearchTabHelperTest, OnChromeIdentityCheckSignedOutMismatch) {
ASSERT_FALSE(params.b);
}
+TEST_F(SearchTabHelperTest, OnChromeIdentityCheckMatchNotSyncing) {
+ NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl));
+ CreateSigninManager(std::string("foo@bar.com"), false);
+ SearchTabHelper* search_tab_helper =
+ SearchTabHelper::FromWebContents(web_contents());
+ ASSERT_NE(static_cast<SearchTabHelper*>(NULL), search_tab_helper);
+
+ const base::string16 test_identity = base::ASCIIToUTF16("foo@bar.com");
+ search_tab_helper->OnChromeIdentityCheck(test_identity);
+
+ const IPC::Message* message = process()->sink().GetUniqueMessageMatching(
+ ChromeViewMsg_ChromeIdentityCheckResult::ID);
+ ASSERT_TRUE(message != NULL);
+
+ ChromeViewMsg_ChromeIdentityCheckResult::Param params;
+ ChromeViewMsg_ChromeIdentityCheckResult::Read(message, &params);
+ EXPECT_EQ(test_identity, params.a);
+ ASSERT_FALSE(params.b);
+}
+
class TabTitleObserver : public content::WebContentsObserver {
public:
explicit TabTitleObserver(content::WebContents* contents)

Powered by Google App Engine
This is Rietveld 408576698