Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Unified Diff: services/preferences/public/cpp/tests/pref_observer_store_unittest.cc

Issue 2635093002: Switch Preferences to use Factory (Closed)
Patch Set: Missed test Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_);
}

Powered by Google App Engine
This is Rietveld 408576698