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

Side by Side Diff: components/sync/driver/sync_prefs_unittest.cc

Issue 2388673002: Revert of [Sync] Move //components/sync to the syncer namespace. (patchset #5 id:40001 of https://co (Closed)
Patch Set: Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « components/sync/driver/sync_prefs.cc ('k') | components/sync/driver/sync_service.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "components/sync/driver/sync_prefs.h" 5 #include "components/sync/driver/sync_prefs.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <map> 9 #include <map>
10 10
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "base/time/time.h" 13 #include "base/time/time.h"
14 #include "components/pref_registry/testing_pref_service_syncable.h" 14 #include "components/pref_registry/testing_pref_service_syncable.h"
15 #include "components/prefs/pref_notifier_impl.h" 15 #include "components/prefs/pref_notifier_impl.h"
16 #include "components/prefs/pref_value_store.h" 16 #include "components/prefs/pref_value_store.h"
17 #include "components/prefs/testing_pref_service.h" 17 #include "components/prefs/testing_pref_service.h"
18 #include "components/sync/base/model_type.h" 18 #include "components/sync/base/model_type.h"
19 #include "components/sync/driver/pref_names.h" 19 #include "components/sync/driver/pref_names.h"
20 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
21 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
22 22
23 namespace syncer { 23 namespace sync_driver {
24 24
25 namespace { 25 namespace {
26 26
27 using ::testing::InSequence; 27 using ::testing::InSequence;
28 using ::testing::StrictMock; 28 using ::testing::StrictMock;
29 29
30 class SyncPrefsTest : public testing::Test { 30 class SyncPrefsTest : public testing::Test {
31 protected: 31 protected:
32 void SetUp() override { 32 void SetUp() override {
33 SyncPrefs::RegisterProfilePrefs(pref_service_.registry()); 33 SyncPrefs::RegisterProfilePrefs(pref_service_.registry());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); 66 EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty());
67 sync_prefs.SetEncryptionBootstrapToken("token"); 67 sync_prefs.SetEncryptionBootstrapToken("token");
68 EXPECT_EQ("token", sync_prefs.GetEncryptionBootstrapToken()); 68 EXPECT_EQ("token", sync_prefs.GetEncryptionBootstrapToken());
69 } 69 }
70 70
71 TEST_F(SyncPrefsTest, DefaultTypes) { 71 TEST_F(SyncPrefsTest, DefaultTypes) {
72 SyncPrefs sync_prefs(&pref_service_); 72 SyncPrefs sync_prefs(&pref_service_);
73 sync_prefs.SetKeepEverythingSynced(false); 73 sync_prefs.SetKeepEverythingSynced(false);
74 74
75 // Only bookmarks and device info are enabled by default. 75 // Only bookmarks and device info are enabled by default.
76 ModelTypeSet expected(BOOKMARKS, DEVICE_INFO); 76 syncer::ModelTypeSet expected(syncer::BOOKMARKS, syncer::DEVICE_INFO);
77 ModelTypeSet preferred_types = sync_prefs.GetPreferredDataTypes(UserTypes()); 77 syncer::ModelTypeSet preferred_types =
78 sync_prefs.GetPreferredDataTypes(syncer::UserTypes());
78 EXPECT_EQ(expected, preferred_types); 79 EXPECT_EQ(expected, preferred_types);
79 80
80 // Simulate an upgrade to delete directives + proxy tabs support. None of the 81 // Simulate an upgrade to delete directives + proxy tabs support. None of the
81 // new types or their pref group types should be registering, ensuring they 82 // new types or their pref group types should be registering, ensuring they
82 // don't have pref values. 83 // don't have pref values.
83 ModelTypeSet registered_types = UserTypes(); 84 syncer::ModelTypeSet registered_types = syncer::UserTypes();
84 registered_types.Remove(PROXY_TABS); 85 registered_types.Remove(syncer::PROXY_TABS);
85 registered_types.Remove(TYPED_URLS); 86 registered_types.Remove(syncer::TYPED_URLS);
86 registered_types.Remove(SESSIONS); 87 registered_types.Remove(syncer::SESSIONS);
87 registered_types.Remove(HISTORY_DELETE_DIRECTIVES); 88 registered_types.Remove(syncer::HISTORY_DELETE_DIRECTIVES);
88 89
89 // Enable all other types. 90 // Enable all other types.
90 sync_prefs.SetPreferredDataTypes(registered_types, registered_types); 91 sync_prefs.SetPreferredDataTypes(registered_types, registered_types);
91 92
92 // Manually enable typed urls (to simulate the old world). 93 // Manually enable typed urls (to simulate the old world).
93 pref_service_.SetBoolean(prefs::kSyncTypedUrls, true); 94 pref_service_.SetBoolean(prefs::kSyncTypedUrls, true);
94 95
95 // Proxy tabs should not be enabled (since sessions wasn't), but history 96 // Proxy tabs should not be enabled (since sessions wasn't), but history
96 // delete directives should (since typed urls was). 97 // delete directives should (since typed urls was).
97 preferred_types = sync_prefs.GetPreferredDataTypes(UserTypes()); 98 preferred_types = sync_prefs.GetPreferredDataTypes(syncer::UserTypes());
98 EXPECT_FALSE(preferred_types.Has(PROXY_TABS)); 99 EXPECT_FALSE(preferred_types.Has(syncer::PROXY_TABS));
99 EXPECT_TRUE(preferred_types.Has(HISTORY_DELETE_DIRECTIVES)); 100 EXPECT_TRUE(preferred_types.Has(syncer::HISTORY_DELETE_DIRECTIVES));
100 101
101 // Now manually enable sessions, which should result in proxy tabs also being 102 // Now manually enable sessions, which should result in proxy tabs also being
102 // enabled. Also, manually disable typed urls, which should mean that history 103 // enabled. Also, manually disable typed urls, which should mean that history
103 // delete directives are not enabled. 104 // delete directives are not enabled.
104 pref_service_.SetBoolean(prefs::kSyncTypedUrls, false); 105 pref_service_.SetBoolean(prefs::kSyncTypedUrls, false);
105 pref_service_.SetBoolean(prefs::kSyncSessions, true); 106 pref_service_.SetBoolean(prefs::kSyncSessions, true);
106 preferred_types = sync_prefs.GetPreferredDataTypes(UserTypes()); 107 preferred_types = sync_prefs.GetPreferredDataTypes(syncer::UserTypes());
107 EXPECT_TRUE(preferred_types.Has(PROXY_TABS)); 108 EXPECT_TRUE(preferred_types.Has(syncer::PROXY_TABS));
108 EXPECT_FALSE(preferred_types.Has(HISTORY_DELETE_DIRECTIVES)); 109 EXPECT_FALSE(preferred_types.Has(syncer::HISTORY_DELETE_DIRECTIVES));
109 } 110 }
110 111
111 TEST_F(SyncPrefsTest, PreferredTypesKeepEverythingSynced) { 112 TEST_F(SyncPrefsTest, PreferredTypesKeepEverythingSynced) {
112 SyncPrefs sync_prefs(&pref_service_); 113 SyncPrefs sync_prefs(&pref_service_);
113 114
114 EXPECT_TRUE(sync_prefs.HasKeepEverythingSynced()); 115 EXPECT_TRUE(sync_prefs.HasKeepEverythingSynced());
115 116
116 const ModelTypeSet user_types = UserTypes(); 117 const syncer::ModelTypeSet user_types = syncer::UserTypes();
117 EXPECT_EQ(user_types, sync_prefs.GetPreferredDataTypes(user_types)); 118 EXPECT_EQ(user_types, sync_prefs.GetPreferredDataTypes(user_types));
118 const ModelTypeSet user_visible_types = UserSelectableTypes(); 119 const syncer::ModelTypeSet user_visible_types = syncer::UserSelectableTypes();
119 for (ModelTypeSet::Iterator it = user_visible_types.First(); it.Good(); 120 for (syncer::ModelTypeSet::Iterator it = user_visible_types.First();
120 it.Inc()) { 121 it.Good(); it.Inc()) {
121 ModelTypeSet preferred_types; 122 syncer::ModelTypeSet preferred_types;
122 preferred_types.Put(it.Get()); 123 preferred_types.Put(it.Get());
123 sync_prefs.SetPreferredDataTypes(user_types, preferred_types); 124 sync_prefs.SetPreferredDataTypes(user_types, preferred_types);
124 EXPECT_EQ(user_types, sync_prefs.GetPreferredDataTypes(user_types)); 125 EXPECT_EQ(user_types, sync_prefs.GetPreferredDataTypes(user_types));
125 } 126 }
126 } 127 }
127 128
128 TEST_F(SyncPrefsTest, PreferredTypesNotKeepEverythingSynced) { 129 TEST_F(SyncPrefsTest, PreferredTypesNotKeepEverythingSynced) {
129 SyncPrefs sync_prefs(&pref_service_); 130 SyncPrefs sync_prefs(&pref_service_);
130 131
131 sync_prefs.SetKeepEverythingSynced(false); 132 sync_prefs.SetKeepEverythingSynced(false);
132 133
133 const ModelTypeSet user_types = UserTypes(); 134 const syncer::ModelTypeSet user_types = syncer::UserTypes();
134 EXPECT_NE(user_types, sync_prefs.GetPreferredDataTypes(user_types)); 135 EXPECT_NE(user_types, sync_prefs.GetPreferredDataTypes(user_types));
135 const ModelTypeSet user_visible_types = UserSelectableTypes(); 136 const syncer::ModelTypeSet user_visible_types = syncer::UserSelectableTypes();
136 for (ModelTypeSet::Iterator it = user_visible_types.First(); it.Good(); 137 for (syncer::ModelTypeSet::Iterator it = user_visible_types.First();
137 it.Inc()) { 138 it.Good(); it.Inc()) {
138 ModelTypeSet preferred_types; 139 syncer::ModelTypeSet preferred_types;
139 preferred_types.Put(it.Get()); 140 preferred_types.Put(it.Get());
140 ModelTypeSet expected_preferred_types(preferred_types); 141 syncer::ModelTypeSet expected_preferred_types(preferred_types);
141 if (it.Get() == AUTOFILL) { 142 if (it.Get() == syncer::AUTOFILL) {
142 expected_preferred_types.Put(AUTOFILL_PROFILE); 143 expected_preferred_types.Put(syncer::AUTOFILL_PROFILE);
143 expected_preferred_types.Put(AUTOFILL_WALLET_DATA); 144 expected_preferred_types.Put(syncer::AUTOFILL_WALLET_DATA);
144 expected_preferred_types.Put(AUTOFILL_WALLET_METADATA); 145 expected_preferred_types.Put(syncer::AUTOFILL_WALLET_METADATA);
145 } 146 }
146 if (it.Get() == PREFERENCES) { 147 if (it.Get() == syncer::PREFERENCES) {
147 expected_preferred_types.Put(DICTIONARY); 148 expected_preferred_types.Put(syncer::DICTIONARY);
148 expected_preferred_types.Put(PRIORITY_PREFERENCES); 149 expected_preferred_types.Put(syncer::PRIORITY_PREFERENCES);
149 expected_preferred_types.Put(SEARCH_ENGINES); 150 expected_preferred_types.Put(syncer::SEARCH_ENGINES);
150 } 151 }
151 if (it.Get() == APPS) { 152 if (it.Get() == syncer::APPS) {
152 expected_preferred_types.Put(APP_LIST); 153 expected_preferred_types.Put(syncer::APP_LIST);
153 expected_preferred_types.Put(APP_NOTIFICATIONS); 154 expected_preferred_types.Put(syncer::APP_NOTIFICATIONS);
154 expected_preferred_types.Put(APP_SETTINGS); 155 expected_preferred_types.Put(syncer::APP_SETTINGS);
155 expected_preferred_types.Put(ARC_PACKAGE); 156 expected_preferred_types.Put(syncer::ARC_PACKAGE);
156 expected_preferred_types.Put(READING_LIST); 157 expected_preferred_types.Put(syncer::READING_LIST);
157 } 158 }
158 if (it.Get() == EXTENSIONS) { 159 if (it.Get() == syncer::EXTENSIONS) {
159 expected_preferred_types.Put(EXTENSION_SETTINGS); 160 expected_preferred_types.Put(syncer::EXTENSION_SETTINGS);
160 } 161 }
161 if (it.Get() == TYPED_URLS) { 162 if (it.Get() == syncer::TYPED_URLS) {
162 expected_preferred_types.Put(HISTORY_DELETE_DIRECTIVES); 163 expected_preferred_types.Put(syncer::HISTORY_DELETE_DIRECTIVES);
163 expected_preferred_types.Put(SESSIONS); 164 expected_preferred_types.Put(syncer::SESSIONS);
164 expected_preferred_types.Put(FAVICON_IMAGES); 165 expected_preferred_types.Put(syncer::FAVICON_IMAGES);
165 expected_preferred_types.Put(FAVICON_TRACKING); 166 expected_preferred_types.Put(syncer::FAVICON_TRACKING);
166 } 167 }
167 if (it.Get() == PROXY_TABS) { 168 if (it.Get() == syncer::PROXY_TABS) {
168 expected_preferred_types.Put(SESSIONS); 169 expected_preferred_types.Put(syncer::SESSIONS);
169 expected_preferred_types.Put(FAVICON_IMAGES); 170 expected_preferred_types.Put(syncer::FAVICON_IMAGES);
170 expected_preferred_types.Put(FAVICON_TRACKING); 171 expected_preferred_types.Put(syncer::FAVICON_TRACKING);
171 } 172 }
172 173
173 // Device info is always preferred. 174 // Device info is always preferred.
174 expected_preferred_types.Put(DEVICE_INFO); 175 expected_preferred_types.Put(syncer::DEVICE_INFO);
175 176
176 sync_prefs.SetPreferredDataTypes(user_types, preferred_types); 177 sync_prefs.SetPreferredDataTypes(user_types, preferred_types);
177 EXPECT_EQ(expected_preferred_types, 178 EXPECT_EQ(expected_preferred_types,
178 sync_prefs.GetPreferredDataTypes(user_types)); 179 sync_prefs.GetPreferredDataTypes(user_types));
179 } 180 }
180 } 181 }
181 182
182 class MockSyncPrefObserver : public SyncPrefObserver { 183 class MockSyncPrefObserver : public SyncPrefObserver {
183 public: 184 public:
184 MOCK_METHOD1(OnSyncManagedPrefChange, void(bool)); 185 MOCK_METHOD1(OnSyncManagedPrefChange, void(bool));
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 sync_prefs.ClearPreferences(); 223 sync_prefs.ClearPreferences();
223 224
224 EXPECT_FALSE(sync_prefs.IsFirstSetupComplete()); 225 EXPECT_FALSE(sync_prefs.IsFirstSetupComplete());
225 EXPECT_EQ(base::Time(), sync_prefs.GetLastSyncedTime()); 226 EXPECT_EQ(base::Time(), sync_prefs.GetLastSyncedTime());
226 EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); 227 EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty());
227 } 228 }
228 229
229 // Device info should always be enabled. 230 // Device info should always be enabled.
230 TEST_F(SyncPrefsTest, DeviceInfo) { 231 TEST_F(SyncPrefsTest, DeviceInfo) {
231 SyncPrefs sync_prefs(&pref_service_); 232 SyncPrefs sync_prefs(&pref_service_);
232 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(UserTypes()).Has(DEVICE_INFO)); 233 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes())
234 .Has(syncer::DEVICE_INFO));
233 sync_prefs.SetKeepEverythingSynced(true); 235 sync_prefs.SetKeepEverythingSynced(true);
234 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(UserTypes()).Has(DEVICE_INFO)); 236 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes())
237 .Has(syncer::DEVICE_INFO));
235 sync_prefs.SetKeepEverythingSynced(false); 238 sync_prefs.SetKeepEverythingSynced(false);
236 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(UserTypes()).Has(DEVICE_INFO)); 239 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes())
240 .Has(syncer::DEVICE_INFO));
237 } 241 }
238 242
239 // Verify that invalidation versions are persisted and loaded correctly. 243 // Verify that invalidation versions are persisted and loaded correctly.
240 TEST_F(SyncPrefsTest, InvalidationVersions) { 244 TEST_F(SyncPrefsTest, InvalidationVersions) {
241 std::map<ModelType, int64_t> versions; 245 std::map<syncer::ModelType, int64_t> versions;
242 versions[BOOKMARKS] = 10; 246 versions[syncer::BOOKMARKS] = 10;
243 versions[SESSIONS] = 20; 247 versions[syncer::SESSIONS] = 20;
244 versions[PREFERENCES] = 30; 248 versions[syncer::PREFERENCES] = 30;
245 249
246 SyncPrefs sync_prefs(&pref_service_); 250 SyncPrefs sync_prefs(&pref_service_);
247 sync_prefs.UpdateInvalidationVersions(versions); 251 sync_prefs.UpdateInvalidationVersions(versions);
248 252
249 std::map<ModelType, int64_t> versions2; 253 std::map<syncer::ModelType, int64_t> versions2;
250 sync_prefs.GetInvalidationVersions(&versions2); 254 sync_prefs.GetInvalidationVersions(&versions2);
251 255
252 EXPECT_EQ(versions.size(), versions2.size()); 256 EXPECT_EQ(versions.size(), versions2.size());
253 for (auto map_iter : versions2) { 257 for (auto map_iter : versions2) {
254 EXPECT_EQ(versions[map_iter.first], map_iter.second); 258 EXPECT_EQ(versions[map_iter.first], map_iter.second);
255 } 259 }
256 } 260 }
257 261
258 } // namespace 262 } // namespace
259 263
260 } // namespace syncer 264 } // namespace sync_driver
OLDNEW
« no previous file with comments | « components/sync/driver/sync_prefs.cc ('k') | components/sync/driver/sync_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698