| Index: services/preferences/public/cpp/tests/pref_observer_store_unittest.cc
|
| diff --git a/services/preferences/public/cpp/tests/pref_observer_store_unittest.cc b/services/preferences/public/cpp/tests/pref_observer_store_unittest.cc
|
| index 9dbd0a526bc66eecded128a69b8a755f4ed87234..f5fa5a7587b785296f09940e2ff0dc608cc079ad 100644
|
| --- a/services/preferences/public/cpp/tests/pref_observer_store_unittest.cc
|
| +++ b/services/preferences/public/cpp/tests/pref_observer_store_unittest.cc
|
| @@ -21,37 +21,27 @@ class TestPreferenceManager : public prefs::mojom::PreferencesManager {
|
| public:
|
| TestPreferenceManager(
|
| mojo::InterfaceRequest<prefs::mojom::PreferencesManager> request)
|
| - : add_observer_called_(false),
|
| - set_preferences_called_(false),
|
| - binding_(this, std::move(request)) {}
|
| + : set_preferences_called_(false), binding_(this, std::move(request)) {}
|
| ~TestPreferenceManager() override {}
|
|
|
| - bool add_observer_called() { return add_observer_called_; }
|
| const std::set<std::string>& last_preference_set() {
|
| return last_preference_set_;
|
| }
|
| bool set_preferences_called() { return set_preferences_called_; }
|
|
|
| // prefs::mojom::TestPreferenceManager:
|
| - void AddObserver(prefs::mojom::PreferencesObserverPtr client) override;
|
| void SetPreferences(
|
| std::unique_ptr<base::DictionaryValue> preferences) override;
|
| void Subscribe(const std::vector<std::string>& preferences) override;
|
|
|
| private:
|
| - bool add_observer_called_;
|
| std::set<std::string> last_preference_set_;
|
| bool set_preferences_called_;
|
| - mojo::Binding<PreferencesManager> binding_;
|
| + mojo::Binding<prefs::mojom::PreferencesManager> binding_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TestPreferenceManager);
|
| };
|
|
|
| -void TestPreferenceManager::AddObserver(
|
| - prefs::mojom::PreferencesObserverPtr client) {
|
| - add_observer_called_ = true;
|
| -}
|
| -
|
| void TestPreferenceManager::SetPreferences(
|
| std::unique_ptr<base::DictionaryValue> preferences) {
|
| set_preferences_called_ = true;
|
| @@ -63,6 +53,33 @@ void TestPreferenceManager::Subscribe(
|
| last_preference_set_.insert(preferences.begin(), preferences.end());
|
| }
|
|
|
| +// Test implementation of prefs::mojom::PreferencesFactory which simply creates
|
| +// the TestPreferenceManager used for testing.
|
| +class TestPreferenceFactory : public prefs::mojom::PreferencesFactory {
|
| + public:
|
| + TestPreferenceFactory(
|
| + mojo::InterfaceRequest<prefs::mojom::PreferencesFactory> request)
|
| + : binding_(this, std::move(request)) {}
|
| + ~TestPreferenceFactory() override {}
|
| +
|
| + TestPreferenceManager* manager() { return manager_.get(); }
|
| +
|
| + void Create(prefs::mojom::PreferencesObserverPtr observer,
|
| + prefs::mojom::PreferencesManagerRequest manager) override;
|
| +
|
| + private:
|
| + mojo::Binding<prefs::mojom::PreferencesFactory> binding_;
|
| + std::unique_ptr<TestPreferenceManager> manager_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(TestPreferenceFactory);
|
| +};
|
| +
|
| +void TestPreferenceFactory::Create(
|
| + prefs::mojom::PreferencesObserverPtr observer,
|
| + prefs::mojom::PreferencesManagerRequest manager) {
|
| + manager_.reset(new TestPreferenceManager(std::move(manager)));
|
| +}
|
| +
|
| } // namespace
|
|
|
| namespace preferences {
|
| @@ -72,7 +89,7 @@ class PrefObserverStoreTest : public testing::Test {
|
| PrefObserverStoreTest() {}
|
| ~PrefObserverStoreTest() override {}
|
|
|
| - TestPreferenceManager* manager() { return manager_.get(); }
|
| + TestPreferenceManager* manager() { return factory_->manager(); }
|
| PrefStoreObserverMock* observer() { return &observer_; }
|
| PrefObserverStore* store() { return store_.get(); }
|
|
|
| @@ -87,8 +104,8 @@ class PrefObserverStoreTest : public testing::Test {
|
|
|
| private:
|
| scoped_refptr<PrefObserverStore> store_;
|
| - prefs::mojom::PreferencesManagerPtr proxy_;
|
| - std::unique_ptr<TestPreferenceManager> manager_;
|
| + prefs::mojom::PreferencesFactoryPtr factory_proxy_;
|
| + std::unique_ptr<TestPreferenceFactory> factory_;
|
| PrefStoreObserverMock observer_;
|
| // Required by mojo binding code within PrefObserverStore.
|
| base::MessageLoop message_loop_;
|
| @@ -97,8 +114,9 @@ class PrefObserverStoreTest : public testing::Test {
|
| };
|
|
|
| void PrefObserverStoreTest::SetUp() {
|
| - manager_.reset(new TestPreferenceManager(mojo::MakeRequest(&proxy_)));
|
| - store_ = new PrefObserverStore(std::move(proxy_));
|
| + factory_.reset(new TestPreferenceFactory(mojo::MakeRequest(&factory_proxy_)));
|
| + store_ = new PrefObserverStore(std::move(factory_proxy_));
|
| + base::RunLoop().RunUntilIdle();
|
| store_->AddObserver(&observer_);
|
| }
|
|
|
|
|