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

Side by Side Diff: chrome/browser/sync/profile_sync_service_factory_unittest.cc

Issue 1451023005: Revert of [Sync] Componentize ProfileSyncComponentsFactoryImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "chrome/browser/sync/profile_sync_service_factory.h" 7 #include "chrome/browser/sync/profile_sync_service_factory.h"
8 #include "chrome/common/chrome_switches.h"
8 #include "chrome/test/base/testing_profile.h" 9 #include "chrome/test/base/testing_profile.h"
9 #include "components/browser_sync/browser/profile_sync_service.h"
10 #include "components/browser_sync/common/browser_sync_switches.h" 10 #include "components/browser_sync/common/browser_sync_switches.h"
11 #include "components/sync_driver/data_type_controller.h"
12 #include "content/public/test/test_browser_thread_bundle.h" 11 #include "content/public/test/test_browser_thread_bundle.h"
13 #include "sync/internal_api/public/base/model_type.h"
14 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
15 #include "ui/app_list/app_list_switches.h"
16
17 using sync_driver::DataTypeController;
18 13
19 class ProfileSyncServiceFactoryTest : public testing::Test { 14 class ProfileSyncServiceFactoryTest : public testing::Test {
20 protected: 15 protected:
21 ProfileSyncServiceFactoryTest() : profile_(new TestingProfile()) {} 16 ProfileSyncServiceFactoryTest() {}
22 17
23 // Returns the collection of default datatypes. 18 void SetUp() override {
24 std::vector<syncer::ModelType> DefaultDatatypes() { 19 profile_.reset(new TestingProfile());
25 std::vector<syncer::ModelType> datatypes;
26 datatypes.push_back(syncer::APPS);
27 #if defined(ENABLE_APP_LIST)
28 if (app_list::switches::IsAppListSyncEnabled())
29 datatypes.push_back(syncer::APP_LIST);
30 #endif
31 datatypes.push_back(syncer::APP_SETTINGS);
32 datatypes.push_back(syncer::AUTOFILL);
33 datatypes.push_back(syncer::AUTOFILL_PROFILE);
34 datatypes.push_back(syncer::AUTOFILL_WALLET_DATA);
35 datatypes.push_back(syncer::BOOKMARKS);
36 datatypes.push_back(syncer::DEVICE_INFO);
37 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS)
38 datatypes.push_back(syncer::DICTIONARY);
39 #endif
40 datatypes.push_back(syncer::EXTENSIONS);
41 datatypes.push_back(syncer::EXTENSION_SETTINGS);
42 datatypes.push_back(syncer::HISTORY_DELETE_DIRECTIVES);
43 datatypes.push_back(syncer::PASSWORDS);
44 datatypes.push_back(syncer::PREFERENCES);
45 datatypes.push_back(syncer::PRIORITY_PREFERENCES);
46 datatypes.push_back(syncer::SEARCH_ENGINES);
47 datatypes.push_back(syncer::SESSIONS);
48 datatypes.push_back(syncer::PROXY_TABS);
49 datatypes.push_back(syncer::THEMES);
50 datatypes.push_back(syncer::TYPED_URLS);
51 datatypes.push_back(syncer::FAVICON_TRACKING);
52 datatypes.push_back(syncer::FAVICON_IMAGES);
53 datatypes.push_back(syncer::SUPERVISED_USERS);
54 datatypes.push_back(syncer::SUPERVISED_USER_SETTINGS);
55 datatypes.push_back(syncer::SUPERVISED_USER_SHARED_SETTINGS);
56 datatypes.push_back(syncer::SUPERVISED_USER_WHITELISTS);
57
58 return datatypes;
59 } 20 }
60 21
61 // Returns the number of default datatypes.
62 size_t DefaultDatatypesCount() { return DefaultDatatypes().size(); }
63
64 // Asserts that all the default datatypes are in |map|, except
65 // for |exception_type|, which unless it is UNDEFINED, is asserted to
66 // not be in |map|.
67 void CheckDefaultDatatypesInMapExcept(DataTypeController::StateMap* map,
68 syncer::ModelTypeSet exception_types) {
69 std::vector<syncer::ModelType> defaults = DefaultDatatypes();
70 std::vector<syncer::ModelType>::iterator iter;
71 for (iter = defaults.begin(); iter != defaults.end(); ++iter) {
72 if (exception_types.Has(*iter))
73 EXPECT_EQ(0U, map->count(*iter))
74 << *iter << " found in dataypes map, shouldn't be there.";
75 else
76 EXPECT_EQ(1U, map->count(*iter)) << *iter
77 << " not found in datatypes map";
78 }
79 }
80
81 void SetDisabledTypes(syncer::ModelTypeSet disabled_types) {
82 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
83 switches::kDisableSyncTypes,
84 syncer::ModelTypeSetToString(disabled_types));
85 }
86
87 Profile* profile() { return profile_.get(); }
88
89 private:
90 content::TestBrowserThreadBundle thread_bundle_; 22 content::TestBrowserThreadBundle thread_bundle_;
91 scoped_ptr<Profile> profile_; 23 scoped_ptr<Profile> profile_;
92 }; 24 };
93 25
94 // Verify that the disable sync flag disables creation of the sync service. 26 // Verify that the disable sync flag disables creation of the sync service.
95 TEST_F(ProfileSyncServiceFactoryTest, DisableSyncFlag) { 27 TEST_F(ProfileSyncServiceFactoryTest, DisableSyncFlag) {
96 base::CommandLine::ForCurrentProcess()->AppendSwitch(switches::kDisableSync); 28 base::CommandLine::ForCurrentProcess()->AppendSwitch(switches::kDisableSync);
97 EXPECT_EQ(nullptr, ProfileSyncServiceFactory::GetForProfile(profile())); 29 EXPECT_EQ(nullptr, ProfileSyncServiceFactory::GetForProfile(profile_.get()));
98 } 30 }
99
100 // Verify that a normal (no command line flags) PSS can be created and
101 // properly initialized.
102 TEST_F(ProfileSyncServiceFactoryTest, CreatePSSDefault) {
103 ProfileSyncService* pss = ProfileSyncServiceFactory::GetForProfile(profile());
104 DataTypeController::StateMap controller_states;
105 pss->GetDataTypeControllerStates(&controller_states);
106 EXPECT_EQ(DefaultDatatypesCount(), controller_states.size());
107 CheckDefaultDatatypesInMapExcept(&controller_states, syncer::ModelTypeSet());
108 }
109
110 // Verify that a PSS with a disabled datatype can be created and properly
111 // initialized.
112 TEST_F(ProfileSyncServiceFactoryTest, CreatePSSDisableOne) {
113 syncer::ModelTypeSet disabled_types(syncer::AUTOFILL);
114 SetDisabledTypes(disabled_types);
115 ProfileSyncService* pss = ProfileSyncServiceFactory::GetForProfile(profile());
116 DataTypeController::StateMap controller_states;
117 pss->GetDataTypeControllerStates(&controller_states);
118 EXPECT_EQ(DefaultDatatypesCount() - disabled_types.Size(),
119 controller_states.size());
120 CheckDefaultDatatypesInMapExcept(&controller_states, disabled_types);
121 }
122
123 // Verify that a PSS with multiple disabled datatypes can be created and
124 // properly initialized.
125 TEST_F(ProfileSyncServiceFactoryTest, CreatePSSDisableMultiple) {
126 syncer::ModelTypeSet disabled_types(syncer::AUTOFILL_PROFILE,
127 syncer::BOOKMARKS);
128 SetDisabledTypes(disabled_types);
129 ProfileSyncService* pss = ProfileSyncServiceFactory::GetForProfile(profile());
130 DataTypeController::StateMap controller_states;
131 pss->GetDataTypeControllerStates(&controller_states);
132 EXPECT_EQ(DefaultDatatypesCount() - disabled_types.Size(),
133 controller_states.size());
134 CheckDefaultDatatypesInMapExcept(&controller_states, disabled_types);
135 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service_factory.cc ('k') | chrome/browser/sync/profile_sync_service_mock.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698