| 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 |