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

Side by Side Diff: services/preferences/public/cpp/tests/pref_observer_store_unittest.cc

Issue 2577563002: Add struct traits for base::Value. (Closed)
Patch Set: rebase Created 4 years 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 unified diff | Download patch
« no previous file with comments | « services/preferences/public/cpp/pref_observer_store.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "services/preferences/public/cpp/pref_observer_store.h" 5 #include "services/preferences/public/cpp/pref_observer_store.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 17 matching lines...) Expand all
28 28
29 bool add_observer_called() { return add_observer_called_; } 29 bool add_observer_called() { return add_observer_called_; }
30 const std::set<std::string>& last_preference_set() { 30 const std::set<std::string>& last_preference_set() {
31 return last_preference_set_; 31 return last_preference_set_;
32 } 32 }
33 bool set_preferences_called() { return set_preferences_called_; } 33 bool set_preferences_called() { return set_preferences_called_; }
34 34
35 // prefs::mojom::TestPreferenceManager: 35 // prefs::mojom::TestPreferenceManager:
36 void AddObserver(const std::vector<std::string>& preferences, 36 void AddObserver(const std::vector<std::string>& preferences,
37 prefs::mojom::PreferencesObserverPtr client) override; 37 prefs::mojom::PreferencesObserverPtr client) override;
38 void SetPreferences(const base::DictionaryValue& preferences) override; 38 void SetPreferences(
39 std::unique_ptr<base::DictionaryValue> preferences) override;
39 40
40 private: 41 private:
41 bool add_observer_called_; 42 bool add_observer_called_;
42 std::set<std::string> last_preference_set_; 43 std::set<std::string> last_preference_set_;
43 bool set_preferences_called_; 44 bool set_preferences_called_;
44 mojo::Binding<PreferencesManager> binding_; 45 mojo::Binding<PreferencesManager> binding_;
45 46
46 DISALLOW_COPY_AND_ASSIGN(TestPreferenceManager); 47 DISALLOW_COPY_AND_ASSIGN(TestPreferenceManager);
47 }; 48 };
48 49
49 void TestPreferenceManager::AddObserver( 50 void TestPreferenceManager::AddObserver(
50 const std::vector<std::string>& preferences, 51 const std::vector<std::string>& preferences,
51 prefs::mojom::PreferencesObserverPtr client) { 52 prefs::mojom::PreferencesObserverPtr client) {
52 add_observer_called_ = true; 53 add_observer_called_ = true;
53 last_preference_set_.clear(); 54 last_preference_set_.clear();
54 last_preference_set_.insert(preferences.begin(), preferences.end()); 55 last_preference_set_.insert(preferences.begin(), preferences.end());
55 } 56 }
56 57
57 void TestPreferenceManager::SetPreferences( 58 void TestPreferenceManager::SetPreferences(
58 const base::DictionaryValue& preferences) { 59 std::unique_ptr<base::DictionaryValue> preferences) {
59 set_preferences_called_ = true; 60 set_preferences_called_ = true;
60 } 61 }
61 62
62 } // namespace 63 } // namespace
63 64
64 class PrefObserverStoreTest : public testing::Test { 65 class PrefObserverStoreTest : public testing::Test {
65 public: 66 public:
66 PrefObserverStoreTest() {} 67 PrefObserverStoreTest() {}
67 ~PrefObserverStoreTest() override {} 68 ~PrefObserverStoreTest() override {}
68 69
69 TestPreferenceManager* manager() { return manager_.get(); } 70 TestPreferenceManager* manager() { return manager_.get(); }
70 PrefStoreObserverMock* observer() { return &observer_; } 71 PrefStoreObserverMock* observer() { return &observer_; }
71 PrefObserverStore* store() { return store_.get(); } 72 PrefObserverStore* store() { return store_.get(); }
72 73
73 bool Initialized() { return store_->initialized_; } 74 bool Initialized() { return store_->initialized_; }
74 void OnPreferencesChanged(const base::DictionaryValue& preferences) { 75 void OnPreferencesChanged(const base::DictionaryValue& preferences) {
75 store_->OnPreferencesChanged(std::move(preferences)); 76 store_->OnPreferencesChanged(preferences.CreateDeepCopy());
76 } 77 }
77 78
78 // testing::Test: 79 // testing::Test:
79 void SetUp() override; 80 void SetUp() override;
80 void TearDown() override; 81 void TearDown() override;
81 82
82 private: 83 private:
83 scoped_refptr<PrefObserverStore> store_; 84 scoped_refptr<PrefObserverStore> store_;
84 prefs::mojom::PreferencesManagerPtr proxy_; 85 prefs::mojom::PreferencesManagerPtr proxy_;
85 std::unique_ptr<TestPreferenceManager> manager_; 86 std::unique_ptr<TestPreferenceManager> manager_;
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 observer()->changed_keys.end(), key2)); 327 observer()->changed_keys.end(), key2));
327 328
328 observer()->changed_keys.clear(); 329 observer()->changed_keys.clear();
329 const int kValue3 = 9001; 330 const int kValue3 = 9001;
330 base::FundamentalValue pref3(kValue3); 331 base::FundamentalValue pref3(kValue3);
331 store()->SetValue(key1, pref3.CreateDeepCopy(), 0); 332 store()->SetValue(key1, pref3.CreateDeepCopy(), 0);
332 base::RunLoop().RunUntilIdle(); 333 base::RunLoop().RunUntilIdle();
333 EXPECT_EQ(1u, observer()->changed_keys.size()); 334 EXPECT_EQ(1u, observer()->changed_keys.size());
334 EXPECT_TRUE(manager()->set_preferences_called()); 335 EXPECT_TRUE(manager()->set_preferences_called());
335 } 336 }
OLDNEW
« no previous file with comments | « services/preferences/public/cpp/pref_observer_store.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698