| Index: chrome/browser/sync/profile_sync_service_autofill_unittest.cc
|
| diff --git a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
|
| index b0f59359bc8080ccd380d524ac4819d75b9ce407..f49b9667b2bea17a57f958fbaebc3b71bcb313d6 100644
|
| --- a/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
|
| +++ b/chrome/browser/sync/profile_sync_service_autofill_unittest.cc
|
| @@ -50,7 +50,7 @@
|
| #include "components/signin/core/browser/fake_profile_oauth2_token_service.h"
|
| #include "components/signin/core/browser/signin_manager.h"
|
| #include "components/sync_driver/data_type_controller.h"
|
| -#include "components/sync_driver/profile_sync_components_factory.h"
|
| +#include "components/sync_driver/fake_sync_client.h"
|
| #include "components/webdata/common/web_database.h"
|
| #include "components/webdata_services/web_data_service_test_util.h"
|
| #include "content/public/test/test_browser_thread.h"
|
| @@ -145,6 +145,38 @@ MATCHER_P(MatchProfiles, profile, "") {
|
| return (profile.Compare(arg) == 0);
|
| }
|
|
|
| +class TestSyncClient : public sync_driver::FakeSyncClient {
|
| + public:
|
| + TestSyncClient(PersonalDataManager* pdm,
|
| + const scoped_refptr<AutofillWebDataService>& web_data_service)
|
| + : pdm_(pdm),
|
| + web_data_service_(web_data_service) {}
|
| + ~TestSyncClient() override {}
|
| +
|
| + // FakeSyncClient overrides.
|
| + autofill::PersonalDataManager* GetPersonalDataManager() override {
|
| + return pdm_;
|
| + }
|
| + scoped_refptr<autofill::AutofillWebDataService> GetWebDataService() override {
|
| + return web_data_service_;
|
| + }
|
| + base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType(
|
| + syncer::ModelType type) override {
|
| + DCHECK(type == AUTOFILL || type == AUTOFILL_PROFILE);
|
| + if (type == AUTOFILL) {
|
| + return AutocompleteSyncableService::FromWebDataService(
|
| + web_data_service_.get())->AsWeakPtr();
|
| + } else {
|
| + return AutofillProfileSyncableService::FromWebDataService(
|
| + web_data_service_.get())->AsWeakPtr();
|
| + }
|
| + }
|
| +
|
| + private:
|
| + PersonalDataManager* pdm_;
|
| + scoped_refptr<AutofillWebDataService> web_data_service_;
|
| +};
|
| +
|
| class WebDatabaseFake : public WebDatabase {
|
| public:
|
| explicit WebDatabaseFake(AutofillTable* autofill_table) {
|
| @@ -356,63 +388,6 @@ ACTION_P(ReturnNewDataTypeManagerWithDebugListener, debug_listener) {
|
| arg4);
|
| }
|
|
|
| -ACTION_P(MakeAutofillProfileSyncComponents, wds) {
|
| - EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB));
|
| - if (!BrowserThread::CurrentlyOn(BrowserThread::DB))
|
| - return base::WeakPtr<syncer::SyncableService>();
|
| - return AutofillProfileSyncableService::FromWebDataService(wds)->AsWeakPtr();
|
| -}
|
| -
|
| -class AbstractAutofillFactory {
|
| - public:
|
| - virtual DataTypeController* CreateDataTypeController(
|
| - ProfileSyncComponentsFactory* factory,
|
| - TestingProfile* profile,
|
| - ProfileSyncService* service) = 0;
|
| - virtual void SetExpectation(ProfileSyncComponentsFactoryMock* factory,
|
| - ProfileSyncService* service,
|
| - AutofillWebDataService* wds,
|
| - DataTypeController* dtc) = 0;
|
| - virtual ~AbstractAutofillFactory() {}
|
| -};
|
| -
|
| -class AutofillEntryFactory : public AbstractAutofillFactory {
|
| - public:
|
| - DataTypeController* CreateDataTypeController(
|
| - ProfileSyncComponentsFactory* factory,
|
| - TestingProfile* profile,
|
| - ProfileSyncService* service) override {
|
| - return new AutofillDataTypeController(factory, profile);
|
| - }
|
| -
|
| - void SetExpectation(ProfileSyncComponentsFactoryMock* factory,
|
| - ProfileSyncService* service,
|
| - AutofillWebDataService* wds,
|
| - DataTypeController* dtc) override {
|
| - EXPECT_CALL(*factory, GetSyncableServiceForType(syncer::AUTOFILL)).
|
| - WillOnce(MakeAutocompleteSyncComponents(wds));
|
| - }
|
| -};
|
| -
|
| -class AutofillProfileFactory : public AbstractAutofillFactory {
|
| - public:
|
| - DataTypeController* CreateDataTypeController(
|
| - ProfileSyncComponentsFactory* factory,
|
| - TestingProfile* profile,
|
| - ProfileSyncService* service) override {
|
| - return new AutofillProfileDataTypeController(factory, profile);
|
| - }
|
| -
|
| - void SetExpectation(ProfileSyncComponentsFactoryMock* factory,
|
| - ProfileSyncService* service,
|
| - AutofillWebDataService* wds,
|
| - DataTypeController* dtc) override {
|
| - EXPECT_CALL(*factory,
|
| - GetSyncableServiceForType(syncer::AUTOFILL_PROFILE)).
|
| - WillOnce(MakeAutofillProfileSyncComponents(wds));
|
| - }
|
| -};
|
| -
|
| class MockPersonalDataManager : public PersonalDataManager {
|
| public:
|
| MockPersonalDataManager() : PersonalDataManager("en-US") {}
|
| @@ -446,20 +421,6 @@ class ProfileSyncServiceAutofillTest
|
| }
|
| ~ProfileSyncServiceAutofillTest() override {}
|
|
|
| - AutofillProfileFactory profile_factory_;
|
| - AutofillEntryFactory entry_factory_;
|
| -
|
| - AbstractAutofillFactory* GetFactory(syncer::ModelType type) {
|
| - if (type == syncer::AUTOFILL) {
|
| - return &entry_factory_;
|
| - } else if (type == syncer::AUTOFILL_PROFILE) {
|
| - return &profile_factory_;
|
| - } else {
|
| - NOTREACHED();
|
| - return NULL;
|
| - }
|
| - }
|
| -
|
| void SetUp() override {
|
| AbstractProfileSyncServiceTest::SetUp();
|
| ASSERT_TRUE(profile_manager_.SetUp());
|
| @@ -500,6 +461,9 @@ class ProfileSyncServiceAutofillTest
|
|
|
| web_data_service_->StartSyncableService();
|
|
|
| + sync_client_.reset(new TestSyncClient(personal_data_manager_,
|
| + web_data_service_));
|
| +
|
| // When UpdateAutofillEntries() is called with an empty list, the return
|
| // value should be |true|, rather than the default of |false|.
|
| std::vector<AutofillEntry> empty;
|
| @@ -531,7 +495,6 @@ class ProfileSyncServiceAutofillTest
|
| void StartSyncService(const base::Closure& callback,
|
| bool will_fail_association,
|
| syncer::ModelType type) {
|
| - AbstractAutofillFactory* factory = GetFactory(type);
|
| SigninManagerBase* signin = SigninManagerFactory::GetForProfile(profile_);
|
| signin->SetAuthenticatedAccountInfo("12345", "test_user@gmail.com");
|
| sync_service_ = TestProfileSyncService::BuildAutoStartAsyncInit(profile_,
|
| @@ -539,12 +502,6 @@ class ProfileSyncServiceAutofillTest
|
|
|
| ProfileSyncComponentsFactoryMock* components =
|
| sync_service_->components_factory_mock();
|
| - DataTypeController* data_type_controller =
|
| - factory->CreateDataTypeController(components, profile_, sync_service_);
|
| - factory->SetExpectation(components,
|
| - sync_service_,
|
| - web_data_service_.get(),
|
| - data_type_controller);
|
|
|
| EXPECT_CALL(*components, CreateDataTypeManager(_, _, _, _, _)).
|
| WillOnce(ReturnNewDataTypeManagerWithDebugListener(
|
| @@ -558,7 +515,7 @@ class ProfileSyncServiceAutofillTest
|
| ->UpdateCredentials(signin->GetAuthenticatedAccountId(),
|
| "oauth2_login_token");
|
|
|
| - sync_service_->RegisterDataTypeController(data_type_controller);
|
| + sync_service_->RegisterDataTypeController(CreateDataTypeController(type));
|
| sync_service_->Initialize();
|
| base::MessageLoop::current()->Run();
|
|
|
| @@ -703,6 +660,14 @@ class ProfileSyncServiceAutofillTest
|
| return MakeAutofillEntry(name, value, time_shift, -1);
|
| }
|
|
|
| + DataTypeController* CreateDataTypeController(syncer::ModelType type) {
|
| + DCHECK(type == AUTOFILL || type == AUTOFILL_PROFILE);
|
| + if (type == AUTOFILL)
|
| + return new AutofillDataTypeController(sync_client_.get());
|
| + else
|
| + return new AutofillProfileDataTypeController(sync_client_.get());
|
| + }
|
| +
|
| friend class AddAutofillHelper<AutofillEntry>;
|
| friend class AddAutofillHelper<AutofillProfile>;
|
| friend class FakeServerUpdater;
|
| @@ -715,6 +680,7 @@ class ProfileSyncServiceAutofillTest
|
| MockPersonalDataManager* personal_data_manager_;
|
| syncer::DataTypeAssociationStats association_stats_;
|
| base::WeakPtrFactory<DataTypeDebugInfoListener> debug_ptr_factory_;
|
| + scoped_ptr<TestSyncClient> sync_client_;
|
| };
|
|
|
| template <class T>
|
|
|