OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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_store_client.h" | 5 #include "services/preferences/public/cpp/pref_store_client.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 23 matching lines...) Expand all Loading... |
34 public: | 34 public: |
35 PrefStoreClientTest() = default; | 35 PrefStoreClientTest() = default; |
36 ~PrefStoreClientTest() override {} | 36 ~PrefStoreClientTest() override {} |
37 | 37 |
38 PrefStoreObserverMock& observer() { return observer_; } | 38 PrefStoreObserverMock& observer() { return observer_; } |
39 PrefStoreClient* store() { return store_.get(); } | 39 PrefStoreClient* store() { return store_.get(); } |
40 | 40 |
41 bool initialized() { return store_->IsInitializationComplete(); } | 41 bool initialized() { return store_->IsInitializationComplete(); } |
42 void OnPrefChanged(const std::string& key, const base::Value& value) { | 42 void OnPrefChanged(const std::string& key, const base::Value& value) { |
43 std::vector<mojom::PrefUpdatePtr> updates; | 43 std::vector<mojom::PrefUpdatePtr> updates; |
44 updates.push_back(mojom::PrefUpdate::New(key, value.CreateDeepCopy(), 0)); | 44 updates.push_back(mojom::PrefUpdate::New(key, value, 0)); |
45 observer_ptr_->OnPrefsChanged(std::move(updates)); | 45 observer_ptr_->OnPrefsChanged(std::move(updates)); |
46 } | 46 } |
47 void OnInitializationCompleted() { | 47 void OnInitializationCompleted() { |
48 observer_ptr_->OnInitializationCompleted(true); | 48 observer_ptr_->OnInitializationCompleted(true); |
49 } | 49 } |
50 | 50 |
51 // testing::Test: | 51 // testing::Test: |
52 void SetUp() override { | 52 void SetUp() override { |
53 store_ = new PrefStoreClient(mojom::PrefStoreConnection::New( | 53 store_ = new PrefStoreClient(mojom::PrefStoreConnection::New( |
54 mojo::MakeRequest(&observer_ptr_), | 54 mojo::MakeRequest(&observer_ptr_), base::DictionaryValue(), false)); |
55 base::MakeUnique<base::DictionaryValue>(), false)); | |
56 store_->AddObserver(&observer_); | 55 store_->AddObserver(&observer_); |
57 } | 56 } |
58 void TearDown() override { | 57 void TearDown() override { |
59 store_->RemoveObserver(&observer_); | 58 store_->RemoveObserver(&observer_); |
60 store_ = nullptr; | 59 store_ = nullptr; |
61 } | 60 } |
62 | 61 |
63 private: | 62 private: |
64 mojom::PrefStoreObserverPtr observer_ptr_; | 63 mojom::PrefStoreObserverPtr observer_ptr_; |
65 PrefStoreObserverMock observer_; | 64 PrefStoreObserverMock observer_; |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 TEST_F(PrefStoreClientTest, Initialized) { | 162 TEST_F(PrefStoreClientTest, Initialized) { |
164 mojom::PrefStoreObserverPtr observer_ptr; | 163 mojom::PrefStoreObserverPtr observer_ptr; |
165 PrefStoreObserverMock observer; | 164 PrefStoreObserverMock observer; |
166 const char key[] = "hey"; | 165 const char key[] = "hey"; |
167 const int kValue = 42; | 166 const int kValue = 42; |
168 base::Value pref(kValue); | 167 base::Value pref(kValue); |
169 auto prefs = base::MakeUnique<base::DictionaryValue>(); | 168 auto prefs = base::MakeUnique<base::DictionaryValue>(); |
170 prefs->Set(key, pref.CreateDeepCopy()); | 169 prefs->Set(key, pref.CreateDeepCopy()); |
171 auto store = | 170 auto store = |
172 make_scoped_refptr(new PrefStoreClient(mojom::PrefStoreConnection::New( | 171 make_scoped_refptr(new PrefStoreClient(mojom::PrefStoreConnection::New( |
173 mojo::MakeRequest(&observer_ptr), std::move(prefs), true))); | 172 mojo::MakeRequest(&observer_ptr), *prefs, true))); |
174 store->AddObserver(&observer); | 173 store->AddObserver(&observer); |
175 | 174 |
176 const base::Value* value = nullptr; | 175 const base::Value* value = nullptr; |
177 int actual_value = 0; | 176 int actual_value = 0; |
178 EXPECT_TRUE(store->GetValue(key, &value)); | 177 EXPECT_TRUE(store->GetValue(key, &value)); |
179 ASSERT_TRUE(value); | 178 ASSERT_TRUE(value); |
180 EXPECT_TRUE(value->GetAsInteger(&actual_value)); | 179 EXPECT_TRUE(value->GetAsInteger(&actual_value)); |
181 EXPECT_EQ(kValue, actual_value); | 180 EXPECT_EQ(kValue, actual_value); |
182 EXPECT_CALL(observer, OnInitializationCompleted(_)).Times(0); | 181 EXPECT_CALL(observer, OnInitializationCompleted(_)).Times(0); |
183 EXPECT_CALL(observer, OnPrefValueChanged(_)).Times(0); | 182 EXPECT_CALL(observer, OnPrefValueChanged(_)).Times(0); |
184 observer_ptr.FlushForTesting(); | 183 observer_ptr.FlushForTesting(); |
185 | 184 |
186 store->RemoveObserver(&observer); | 185 store->RemoveObserver(&observer); |
187 } | 186 } |
188 | 187 |
189 } // namespace prefs | 188 } // namespace prefs |
OLD | NEW |