OLD | NEW |
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 "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/prefs/pref_notifier_impl.h" | 9 #include "base/prefs/pref_notifier_impl.h" |
10 #include "base/prefs/pref_value_store.h" | 10 #include "base/prefs/pref_value_store.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 | 61 |
62 EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); | 62 EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); |
63 sync_prefs.SetEncryptionBootstrapToken("token"); | 63 sync_prefs.SetEncryptionBootstrapToken("token"); |
64 EXPECT_EQ("token", sync_prefs.GetEncryptionBootstrapToken()); | 64 EXPECT_EQ("token", sync_prefs.GetEncryptionBootstrapToken()); |
65 } | 65 } |
66 | 66 |
67 TEST_F(SyncPrefsTest, DefaultTypes) { | 67 TEST_F(SyncPrefsTest, DefaultTypes) { |
68 SyncPrefs sync_prefs(&pref_service_); | 68 SyncPrefs sync_prefs(&pref_service_); |
69 sync_prefs.SetKeepEverythingSynced(false); | 69 sync_prefs.SetKeepEverythingSynced(false); |
70 | 70 |
71 // Only bookmarks are enabled by default. | 71 // Only bookmarks and device info are enabled by default. |
| 72 syncer::ModelTypeSet expected(syncer::BOOKMARKS, syncer::DEVICE_INFO); |
72 syncer::ModelTypeSet preferred_types = | 73 syncer::ModelTypeSet preferred_types = |
73 sync_prefs.GetPreferredDataTypes(syncer::UserTypes()); | 74 sync_prefs.GetPreferredDataTypes(syncer::UserTypes()); |
74 EXPECT_TRUE(preferred_types.Equals(syncer::ModelTypeSet(syncer::BOOKMARKS))); | 75 EXPECT_TRUE(preferred_types.Equals(expected)); |
75 | 76 |
76 // Simulate an upgrade to delete directives + proxy tabs support. None of the | 77 // Simulate an upgrade to delete directives + proxy tabs support. None of the |
77 // new types or their pref group types should be registering, ensuring they | 78 // new types or their pref group types should be registering, ensuring they |
78 // don't have pref values. | 79 // don't have pref values. |
79 syncer::ModelTypeSet registered_types = syncer::UserTypes(); | 80 syncer::ModelTypeSet registered_types = syncer::UserTypes(); |
80 registered_types.Remove(syncer::PROXY_TABS); | 81 registered_types.Remove(syncer::PROXY_TABS); |
81 registered_types.Remove(syncer::TYPED_URLS); | 82 registered_types.Remove(syncer::TYPED_URLS); |
82 registered_types.Remove(syncer::SESSIONS); | 83 registered_types.Remove(syncer::SESSIONS); |
83 registered_types.Remove(syncer::HISTORY_DELETE_DIRECTIVES); | 84 registered_types.Remove(syncer::HISTORY_DELETE_DIRECTIVES); |
84 | 85 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 expected_preferred_types.Put(syncer::HISTORY_DELETE_DIRECTIVES); | 158 expected_preferred_types.Put(syncer::HISTORY_DELETE_DIRECTIVES); |
158 expected_preferred_types.Put(syncer::SESSIONS); | 159 expected_preferred_types.Put(syncer::SESSIONS); |
159 expected_preferred_types.Put(syncer::FAVICON_IMAGES); | 160 expected_preferred_types.Put(syncer::FAVICON_IMAGES); |
160 expected_preferred_types.Put(syncer::FAVICON_TRACKING); | 161 expected_preferred_types.Put(syncer::FAVICON_TRACKING); |
161 } | 162 } |
162 if (it.Get() == syncer::PROXY_TABS) { | 163 if (it.Get() == syncer::PROXY_TABS) { |
163 expected_preferred_types.Put(syncer::SESSIONS); | 164 expected_preferred_types.Put(syncer::SESSIONS); |
164 expected_preferred_types.Put(syncer::FAVICON_IMAGES); | 165 expected_preferred_types.Put(syncer::FAVICON_IMAGES); |
165 expected_preferred_types.Put(syncer::FAVICON_TRACKING); | 166 expected_preferred_types.Put(syncer::FAVICON_TRACKING); |
166 } | 167 } |
| 168 |
| 169 // Device info is always preferred. |
| 170 expected_preferred_types.Put(syncer::DEVICE_INFO); |
| 171 |
167 sync_prefs.SetPreferredDataTypes(user_types, preferred_types); | 172 sync_prefs.SetPreferredDataTypes(user_types, preferred_types); |
168 EXPECT_TRUE(expected_preferred_types.Equals( | 173 EXPECT_TRUE(expected_preferred_types.Equals( |
169 sync_prefs.GetPreferredDataTypes(user_types))); | 174 sync_prefs.GetPreferredDataTypes(user_types))); |
170 } | 175 } |
171 } | 176 } |
172 | 177 |
173 class MockSyncPrefObserver : public SyncPrefObserver { | 178 class MockSyncPrefObserver : public SyncPrefObserver { |
174 public: | 179 public: |
175 MOCK_METHOD1(OnSyncManagedPrefChange, void(bool)); | 180 MOCK_METHOD1(OnSyncManagedPrefChange, void(bool)); |
176 }; | 181 }; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 EXPECT_NE(base::Time(), sync_prefs.GetLastSyncedTime()); | 230 EXPECT_NE(base::Time(), sync_prefs.GetLastSyncedTime()); |
226 EXPECT_EQ("token", sync_prefs.GetEncryptionBootstrapToken()); | 231 EXPECT_EQ("token", sync_prefs.GetEncryptionBootstrapToken()); |
227 | 232 |
228 sync_prefs.ClearPreferences(); | 233 sync_prefs.ClearPreferences(); |
229 | 234 |
230 EXPECT_FALSE(sync_prefs.HasSyncSetupCompleted()); | 235 EXPECT_FALSE(sync_prefs.HasSyncSetupCompleted()); |
231 EXPECT_EQ(base::Time(), sync_prefs.GetLastSyncedTime()); | 236 EXPECT_EQ(base::Time(), sync_prefs.GetLastSyncedTime()); |
232 EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); | 237 EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); |
233 } | 238 } |
234 | 239 |
| 240 // Device info should always be enabled. |
| 241 TEST_F(SyncPrefsTest, DeviceInfo) { |
| 242 SyncPrefs sync_prefs(&pref_service_); |
| 243 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes()) |
| 244 .Has(syncer::DEVICE_INFO)); |
| 245 sync_prefs.SetKeepEverythingSynced(true); |
| 246 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes()) |
| 247 .Has(syncer::DEVICE_INFO)); |
| 248 sync_prefs.SetKeepEverythingSynced(false); |
| 249 EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes()) |
| 250 .Has(syncer::DEVICE_INFO)); |
| 251 } |
| 252 |
235 } // namespace | 253 } // namespace |
236 | 254 |
237 } // namespace sync_driver | 255 } // namespace sync_driver |
OLD | NEW |