Index: components/sync_driver/sync_prefs_unittest.cc |
diff --git a/chrome/browser/sync/sync_prefs_unittest.cc b/components/sync_driver/sync_prefs_unittest.cc |
similarity index 72% |
rename from chrome/browser/sync/sync_prefs_unittest.cc |
rename to components/sync_driver/sync_prefs_unittest.cc |
index 6356ebe34b262b6028ef680de10c2993361ffd40..5396057e29bb70022137611578858ec07d776e0e 100644 |
--- a/chrome/browser/sync/sync_prefs_unittest.cc |
+++ b/components/sync_driver/sync_prefs_unittest.cc |
@@ -2,25 +2,83 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/sync/sync_prefs.h" |
+#include "components/sync_driver/sync_prefs.h" |
#include "base/command_line.h" |
#include "base/message_loop/message_loop.h" |
+#include "base/prefs/pref_notifier_impl.h" |
+#include "base/prefs/pref_value_store.h" |
+#include "base/prefs/testing_pref_service.h" |
#include "base/time/time.h" |
-#include "chrome/common/chrome_switches.h" |
-#include "chrome/common/pref_names.h" |
-#include "chrome/test/base/testing_pref_service_syncable.h" |
+#include "components/sync_driver/pref_names.h" |
+#include "components/user_prefs/pref_registry_syncable.h" |
#include "sync/internal_api/public/base/model_type.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
-namespace browser_sync { |
+template <> |
+TestingPrefServiceBase<PrefService, user_prefs::PrefRegistrySyncable>:: |
+ TestingPrefServiceBase(TestingPrefStore* managed_prefs, |
+ TestingPrefStore* user_prefs, |
+ TestingPrefStore* recommended_prefs, |
+ user_prefs::PrefRegistrySyncable* pref_registry, |
+ PrefNotifierImpl* pref_notifier) |
+ : PrefService( |
+ pref_notifier, |
+ new PrefValueStore(managed_prefs, |
+ NULL, // supervised_user_prefs |
+ NULL, // extension_prefs |
+ NULL, // command_line_prefs |
+ user_prefs, |
+ recommended_prefs, |
+ pref_registry->defaults().get(), |
+ pref_notifier), |
+ user_prefs, |
+ pref_registry, |
+ base::Bind(&TestingPrefServiceBase< |
+ PrefService, |
+ user_prefs::PrefRegistrySyncable>::HandleReadError), |
+ false), |
+ managed_prefs_(managed_prefs), |
+ user_prefs_(user_prefs), |
+ recommended_prefs_(recommended_prefs) {} |
+ |
+namespace sync_driver { |
namespace { |
using ::testing::InSequence; |
using ::testing::StrictMock; |
+// Test version of PrefServiceSyncable. |
+class TestingPrefServiceSyncable |
+ : public TestingPrefServiceBase<PrefService, |
+ user_prefs::PrefRegistrySyncable> { |
+ public: |
+ TestingPrefServiceSyncable(); |
+ virtual ~TestingPrefServiceSyncable(); |
+ |
+ user_prefs::PrefRegistrySyncable* registry(); |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(TestingPrefServiceSyncable); |
+}; |
+ |
+TestingPrefServiceSyncable::TestingPrefServiceSyncable() |
+ : TestingPrefServiceBase<PrefService, user_prefs::PrefRegistrySyncable>( |
+ new TestingPrefStore(), |
+ new TestingPrefStore(), |
+ new TestingPrefStore(), |
+ new user_prefs::PrefRegistrySyncable(), |
+ new PrefNotifierImpl()) {} |
+ |
+TestingPrefServiceSyncable::~TestingPrefServiceSyncable() {} |
+ |
+user_prefs::PrefRegistrySyncable* TestingPrefServiceSyncable::registry() { |
+ return static_cast<user_prefs::PrefRegistrySyncable*>( |
+ DeprecatedGetPrefRegistry()); |
+} |
+ |
class SyncPrefsTest : public testing::Test { |
protected: |
virtual void SetUp() OVERRIDE { |
@@ -67,8 +125,8 @@ TEST_F(SyncPrefsTest, DefaultTypes) { |
sync_prefs.SetKeepEverythingSynced(false); |
// Only bookmarks are enabled by default. |
- syncer::ModelTypeSet preferred_types = sync_prefs.GetPreferredDataTypes( |
- syncer::UserTypes()); |
+ syncer::ModelTypeSet preferred_types = |
+ sync_prefs.GetPreferredDataTypes(syncer::UserTypes()); |
EXPECT_TRUE(preferred_types.Equals(syncer::ModelTypeSet(syncer::BOOKMARKS))); |
// Simulate an upgrade to delete directives + proxy tabs support. None of the |
@@ -81,16 +139,14 @@ TEST_F(SyncPrefsTest, DefaultTypes) { |
registered_types.Remove(syncer::HISTORY_DELETE_DIRECTIVES); |
// Enable all other types. |
- sync_prefs.SetPreferredDataTypes(registered_types, |
- registered_types); |
+ sync_prefs.SetPreferredDataTypes(registered_types, registered_types); |
// Manually enable typed urls (to simulate the old world). |
pref_service_.SetBoolean(prefs::kSyncTypedUrls, true); |
// Proxy tabs should not be enabled (since sessions wasn't), but history |
// delete directives should (since typed urls was). |
- preferred_types = |
- sync_prefs.GetPreferredDataTypes(syncer::UserTypes()); |
+ preferred_types = sync_prefs.GetPreferredDataTypes(syncer::UserTypes()); |
EXPECT_FALSE(preferred_types.Has(syncer::PROXY_TABS)); |
EXPECT_TRUE(preferred_types.Has(syncer::HISTORY_DELETE_DIRECTIVES)); |
@@ -99,8 +155,7 @@ TEST_F(SyncPrefsTest, DefaultTypes) { |
// delete directives are not enabled. |
pref_service_.SetBoolean(prefs::kSyncTypedUrls, false); |
pref_service_.SetBoolean(prefs::kSyncSessions, true); |
- preferred_types = |
- sync_prefs.GetPreferredDataTypes(syncer::UserTypes()); |
+ preferred_types = sync_prefs.GetPreferredDataTypes(syncer::UserTypes()); |
EXPECT_TRUE(preferred_types.Has(syncer::PROXY_TABS)); |
EXPECT_FALSE(preferred_types.Has(syncer::HISTORY_DELETE_DIRECTIVES)); |
} |
@@ -111,16 +166,16 @@ TEST_F(SyncPrefsTest, PreferredTypesKeepEverythingSynced) { |
EXPECT_TRUE(sync_prefs.HasKeepEverythingSynced()); |
const syncer::ModelTypeSet user_types = syncer::UserTypes(); |
- EXPECT_TRUE(user_types.Equals( |
- sync_prefs.GetPreferredDataTypes(user_types))); |
+ EXPECT_TRUE(user_types.Equals(sync_prefs.GetPreferredDataTypes(user_types))); |
const syncer::ModelTypeSet user_visible_types = syncer::UserSelectableTypes(); |
for (syncer::ModelTypeSet::Iterator it = user_visible_types.First(); |
- it.Good(); it.Inc()) { |
+ it.Good(); |
+ it.Inc()) { |
syncer::ModelTypeSet preferred_types; |
preferred_types.Put(it.Get()); |
sync_prefs.SetPreferredDataTypes(user_types, preferred_types); |
- EXPECT_TRUE(user_types.Equals( |
- sync_prefs.GetPreferredDataTypes(user_types))); |
+ EXPECT_TRUE( |
+ user_types.Equals(sync_prefs.GetPreferredDataTypes(user_types))); |
} |
} |
@@ -130,11 +185,11 @@ TEST_F(SyncPrefsTest, PreferredTypesNotKeepEverythingSynced) { |
sync_prefs.SetKeepEverythingSynced(false); |
const syncer::ModelTypeSet user_types = syncer::UserTypes(); |
- EXPECT_FALSE(user_types.Equals( |
- sync_prefs.GetPreferredDataTypes(user_types))); |
+ EXPECT_FALSE(user_types.Equals(sync_prefs.GetPreferredDataTypes(user_types))); |
const syncer::ModelTypeSet user_visible_types = syncer::UserSelectableTypes(); |
for (syncer::ModelTypeSet::Iterator it = user_visible_types.First(); |
- it.Good(); it.Inc()) { |
+ it.Good(); |
+ it.Inc()) { |
syncer::ModelTypeSet preferred_types; |
preferred_types.Put(it.Get()); |
syncer::ModelTypeSet expected_preferred_types(preferred_types); |