diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-12 03:04:13 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-12 03:04:13 +0000 |
commit | e3b0ee5f1dc1647f3f00439c9a7f9bb7e97345dd (patch) | |
tree | 1a3d69ff713b154f619f2115aab7284bbe6cac5e /chrome/browser/sync/sync_prefs_unittest.cc | |
parent | 8c9add0068743ba549a235e4748e686d8622f3b3 (diff) | |
download | chromium_src-e3b0ee5f1dc1647f3f00439c9a7f9bb7e97345dd.zip chromium_src-e3b0ee5f1dc1647f3f00439c9a7f9bb7e97345dd.tar.gz chromium_src-e3b0ee5f1dc1647f3f00439c9a7f9bb7e97345dd.tar.bz2 |
[Sync] Persist invalidation versions to preferences
Define InvalidationVersionTracker interface and make SyncPrefs
inherit from it.
Pass down SyncPrefs (as InvalidationVersionTracker) all the way
down to ChromeInvalidationClient and call it when there is a new
max invalidation version.
Pass SyncBackendHost a WeakPtr instead of a raw pointer to SyncPrefs.
Made sync_listen_notifications work again.
BUG=85286
TEST=
Review URL: http://codereview.chromium.org/8188006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104983 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/sync_prefs_unittest.cc')
-rw-r--r-- | chrome/browser/sync/sync_prefs_unittest.cc | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/chrome/browser/sync/sync_prefs_unittest.cc b/chrome/browser/sync/sync_prefs_unittest.cc index e8ae6a2..5bf2e06 100644 --- a/chrome/browser/sync/sync_prefs_unittest.cc +++ b/chrome/browser/sync/sync_prefs_unittest.cc @@ -115,6 +115,29 @@ TEST_F(SyncPrefsTest, PreferredTypesNotKeepEverythingSynced) { } } +TEST_F(SyncPrefsTest, MaxInvalidationVersions) { + SyncPrefs sync_prefs(&pref_service_); + + sync_notifier::InvalidationVersionMap expected_max_versions; + EXPECT_EQ(expected_max_versions, sync_prefs.GetAllMaxVersions()); + + expected_max_versions[syncable::BOOKMARKS] = 2; + sync_prefs.SetMaxVersion(syncable::BOOKMARKS, 2); + EXPECT_EQ(expected_max_versions, sync_prefs.GetAllMaxVersions()); + + expected_max_versions[syncable::PREFERENCES] = 5; + sync_prefs.SetMaxVersion(syncable::PREFERENCES, 5); + EXPECT_EQ(expected_max_versions, sync_prefs.GetAllMaxVersions()); + + expected_max_versions[syncable::APP_NOTIFICATIONS] = 3; + sync_prefs.SetMaxVersion(syncable::APP_NOTIFICATIONS, 3); + EXPECT_EQ(expected_max_versions, sync_prefs.GetAllMaxVersions()); + + expected_max_versions[syncable::APP_NOTIFICATIONS] = 4; + sync_prefs.SetMaxVersion(syncable::APP_NOTIFICATIONS, 4); + EXPECT_EQ(expected_max_versions, sync_prefs.GetAllMaxVersions()); +} + class MockSyncPrefObserver : public SyncPrefObserver { public: MOCK_METHOD1(OnSyncManagedPrefChange, void(bool)); @@ -163,6 +186,7 @@ TEST_F(SyncPrefsTest, ClearPreferences) { EXPECT_FALSE(sync_prefs.HasSyncSetupCompleted()); EXPECT_EQ(base::Time(), sync_prefs.GetLastSyncedTime()); EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); + EXPECT_TRUE(sync_prefs.GetAllMaxVersions().empty()); sync_prefs.SetSyncSetupCompleted(); sync_prefs.SetLastSyncedTime(base::Time::Now()); @@ -171,12 +195,19 @@ TEST_F(SyncPrefsTest, ClearPreferences) { EXPECT_TRUE(sync_prefs.HasSyncSetupCompleted()); EXPECT_NE(base::Time(), sync_prefs.GetLastSyncedTime()); EXPECT_EQ("token", sync_prefs.GetEncryptionBootstrapToken()); + { + sync_notifier::InvalidationVersionMap expected_max_versions; + expected_max_versions[syncable::APP_NOTIFICATIONS] = 3; + sync_prefs.SetMaxVersion(syncable::APP_NOTIFICATIONS, 3); + EXPECT_EQ(expected_max_versions, sync_prefs.GetAllMaxVersions()); + } sync_prefs.ClearPreferences(); EXPECT_FALSE(sync_prefs.HasSyncSetupCompleted()); EXPECT_EQ(base::Time(), sync_prefs.GetLastSyncedTime()); EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); + EXPECT_TRUE(sync_prefs.GetAllMaxVersions().empty()); } TEST_F(SyncPrefsTest, NullPrefService) { @@ -190,6 +221,7 @@ TEST_F(SyncPrefsTest, NullPrefService) { EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(non_passive_types).empty()); EXPECT_FALSE(sync_prefs.IsManaged()); EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); + EXPECT_TRUE(sync_prefs.GetAllMaxVersions().empty()); } } // namespace |