OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "components/prefs/overlay_user_pref_store.h" | 5 #include "components/prefs/overlay_user_pref_store.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "components/prefs/pref_store_observer_mock.h" | 9 #include "components/prefs/pref_store_observer_mock.h" |
10 #include "components/prefs/testing_pref_store.h" | 10 #include "components/prefs/testing_pref_store.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 | 45 |
46 scoped_refptr<TestingPrefStore> underlay_; | 46 scoped_refptr<TestingPrefStore> underlay_; |
47 scoped_refptr<OverlayUserPrefStore> overlay_; | 47 scoped_refptr<OverlayUserPrefStore> overlay_; |
48 }; | 48 }; |
49 | 49 |
50 TEST_F(OverlayUserPrefStoreTest, Observer) { | 50 TEST_F(OverlayUserPrefStoreTest, Observer) { |
51 PrefStoreObserverMock obs; | 51 PrefStoreObserverMock obs; |
52 overlay_->AddObserver(&obs); | 52 overlay_->AddObserver(&obs); |
53 | 53 |
54 // Check that underlay first value is reported. | 54 // Check that underlay first value is reported. |
55 underlay_->SetValue(overlay_key, base::MakeUnique<FundamentalValue>(42), | 55 underlay_->SetValue(overlay_key, base::MakeUnique<Value>(42), |
56 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 56 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
57 obs.VerifyAndResetChangedKey(overlay_key); | 57 obs.VerifyAndResetChangedKey(overlay_key); |
58 | 58 |
59 // Check that underlay overwriting is reported. | 59 // Check that underlay overwriting is reported. |
60 underlay_->SetValue(overlay_key, base::MakeUnique<FundamentalValue>(43), | 60 underlay_->SetValue(overlay_key, base::MakeUnique<Value>(43), |
61 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 61 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
62 obs.VerifyAndResetChangedKey(overlay_key); | 62 obs.VerifyAndResetChangedKey(overlay_key); |
63 | 63 |
64 // Check that overwriting change in overlay is reported. | 64 // Check that overwriting change in overlay is reported. |
65 overlay_->SetValue(overlay_key, base::MakeUnique<FundamentalValue>(44), | 65 overlay_->SetValue(overlay_key, base::MakeUnique<Value>(44), |
66 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 66 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
67 obs.VerifyAndResetChangedKey(overlay_key); | 67 obs.VerifyAndResetChangedKey(overlay_key); |
68 | 68 |
69 // Check that hidden underlay change is not reported. | 69 // Check that hidden underlay change is not reported. |
70 underlay_->SetValue(overlay_key, base::MakeUnique<FundamentalValue>(45), | 70 underlay_->SetValue(overlay_key, base::MakeUnique<Value>(45), |
71 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 71 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
72 EXPECT_TRUE(obs.changed_keys.empty()); | 72 EXPECT_TRUE(obs.changed_keys.empty()); |
73 | 73 |
74 // Check that overlay remove is reported. | 74 // Check that overlay remove is reported. |
75 overlay_->RemoveValue(overlay_key, | 75 overlay_->RemoveValue(overlay_key, |
76 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 76 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
77 obs.VerifyAndResetChangedKey(overlay_key); | 77 obs.VerifyAndResetChangedKey(overlay_key); |
78 | 78 |
79 // Check that underlay remove is reported. | 79 // Check that underlay remove is reported. |
80 underlay_->RemoveValue(overlay_key, | 80 underlay_->RemoveValue(overlay_key, |
81 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 81 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
82 obs.VerifyAndResetChangedKey(overlay_key); | 82 obs.VerifyAndResetChangedKey(overlay_key); |
83 | 83 |
84 // Check respecting of silence. | 84 // Check respecting of silence. |
85 overlay_->SetValueSilently(overlay_key, | 85 overlay_->SetValueSilently(overlay_key, base::MakeUnique<Value>(46), |
86 base::MakeUnique<FundamentalValue>(46), | |
87 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 86 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
88 EXPECT_TRUE(obs.changed_keys.empty()); | 87 EXPECT_TRUE(obs.changed_keys.empty()); |
89 | 88 |
90 overlay_->RemoveObserver(&obs); | 89 overlay_->RemoveObserver(&obs); |
91 | 90 |
92 // Check successful unsubscription. | 91 // Check successful unsubscription. |
93 underlay_->SetValue(overlay_key, base::MakeUnique<FundamentalValue>(47), | 92 underlay_->SetValue(overlay_key, base::MakeUnique<Value>(47), |
94 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 93 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
95 overlay_->SetValue(overlay_key, base::MakeUnique<FundamentalValue>(48), | 94 overlay_->SetValue(overlay_key, base::MakeUnique<Value>(48), |
96 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 95 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
97 EXPECT_TRUE(obs.changed_keys.empty()); | 96 EXPECT_TRUE(obs.changed_keys.empty()); |
98 } | 97 } |
99 | 98 |
100 TEST_F(OverlayUserPrefStoreTest, GetAndSet) { | 99 TEST_F(OverlayUserPrefStoreTest, GetAndSet) { |
101 const Value* value = NULL; | 100 const Value* value = NULL; |
102 EXPECT_FALSE(overlay_->GetValue(overlay_key, &value)); | 101 EXPECT_FALSE(overlay_->GetValue(overlay_key, &value)); |
103 EXPECT_FALSE(underlay_->GetValue(overlay_key, &value)); | 102 EXPECT_FALSE(underlay_->GetValue(overlay_key, &value)); |
104 | 103 |
105 underlay_->SetValue(overlay_key, base::MakeUnique<FundamentalValue>(42), | 104 underlay_->SetValue(overlay_key, base::MakeUnique<Value>(42), |
106 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 105 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
107 | 106 |
108 // Value shines through: | 107 // Value shines through: |
109 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); | 108 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); |
110 EXPECT_TRUE(base::FundamentalValue(42).Equals(value)); | 109 EXPECT_TRUE(base::Value(42).Equals(value)); |
111 | 110 |
112 EXPECT_TRUE(underlay_->GetValue(overlay_key, &value)); | 111 EXPECT_TRUE(underlay_->GetValue(overlay_key, &value)); |
113 EXPECT_TRUE(base::FundamentalValue(42).Equals(value)); | 112 EXPECT_TRUE(base::Value(42).Equals(value)); |
114 | 113 |
115 overlay_->SetValue(overlay_key, base::MakeUnique<FundamentalValue>(43), | 114 overlay_->SetValue(overlay_key, base::MakeUnique<Value>(43), |
116 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 115 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
117 | 116 |
118 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); | 117 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); |
119 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 118 EXPECT_TRUE(base::Value(43).Equals(value)); |
120 | 119 |
121 EXPECT_TRUE(underlay_->GetValue(overlay_key, &value)); | 120 EXPECT_TRUE(underlay_->GetValue(overlay_key, &value)); |
122 EXPECT_TRUE(base::FundamentalValue(42).Equals(value)); | 121 EXPECT_TRUE(base::Value(42).Equals(value)); |
123 | 122 |
124 overlay_->RemoveValue(overlay_key, | 123 overlay_->RemoveValue(overlay_key, |
125 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 124 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
126 | 125 |
127 // Value shines through: | 126 // Value shines through: |
128 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); | 127 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); |
129 EXPECT_TRUE(base::FundamentalValue(42).Equals(value)); | 128 EXPECT_TRUE(base::Value(42).Equals(value)); |
130 | 129 |
131 EXPECT_TRUE(underlay_->GetValue(overlay_key, &value)); | 130 EXPECT_TRUE(underlay_->GetValue(overlay_key, &value)); |
132 EXPECT_TRUE(base::FundamentalValue(42).Equals(value)); | 131 EXPECT_TRUE(base::Value(42).Equals(value)); |
133 } | 132 } |
134 | 133 |
135 // Check that GetMutableValue does not return the dictionary of the underlay. | 134 // Check that GetMutableValue does not return the dictionary of the underlay. |
136 TEST_F(OverlayUserPrefStoreTest, ModifyDictionaries) { | 135 TEST_F(OverlayUserPrefStoreTest, ModifyDictionaries) { |
137 underlay_->SetValue(overlay_key, base::WrapUnique(new DictionaryValue), | 136 underlay_->SetValue(overlay_key, base::WrapUnique(new DictionaryValue), |
138 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 137 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
139 | 138 |
140 Value* modify = NULL; | 139 Value* modify = NULL; |
141 EXPECT_TRUE(overlay_->GetMutableValue(overlay_key, &modify)); | 140 EXPECT_TRUE(overlay_->GetMutableValue(overlay_key, &modify)); |
142 ASSERT_TRUE(modify); | 141 ASSERT_TRUE(modify); |
(...skipping 14 matching lines...) Expand all Loading... |
157 } | 156 } |
158 | 157 |
159 // Here we consider a global preference that is not overlayed. | 158 // Here we consider a global preference that is not overlayed. |
160 TEST_F(OverlayUserPrefStoreTest, GlobalPref) { | 159 TEST_F(OverlayUserPrefStoreTest, GlobalPref) { |
161 PrefStoreObserverMock obs; | 160 PrefStoreObserverMock obs; |
162 overlay_->AddObserver(&obs); | 161 overlay_->AddObserver(&obs); |
163 | 162 |
164 const Value* value = NULL; | 163 const Value* value = NULL; |
165 | 164 |
166 // Check that underlay first value is reported. | 165 // Check that underlay first value is reported. |
167 underlay_->SetValue(regular_key, base::WrapUnique(new FundamentalValue(42)), | 166 underlay_->SetValue(regular_key, base::WrapUnique(new Value(42)), |
168 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 167 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
169 obs.VerifyAndResetChangedKey(regular_key); | 168 obs.VerifyAndResetChangedKey(regular_key); |
170 | 169 |
171 // Check that underlay overwriting is reported. | 170 // Check that underlay overwriting is reported. |
172 underlay_->SetValue(regular_key, base::WrapUnique(new FundamentalValue(43)), | 171 underlay_->SetValue(regular_key, base::WrapUnique(new Value(43)), |
173 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 172 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
174 obs.VerifyAndResetChangedKey(regular_key); | 173 obs.VerifyAndResetChangedKey(regular_key); |
175 | 174 |
176 // Check that we get this value from the overlay | 175 // Check that we get this value from the overlay |
177 EXPECT_TRUE(overlay_->GetValue(regular_key, &value)); | 176 EXPECT_TRUE(overlay_->GetValue(regular_key, &value)); |
178 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 177 EXPECT_TRUE(base::Value(43).Equals(value)); |
179 | 178 |
180 // Check that overwriting change in overlay is reported. | 179 // Check that overwriting change in overlay is reported. |
181 overlay_->SetValue(regular_key, base::WrapUnique(new FundamentalValue(44)), | 180 overlay_->SetValue(regular_key, base::WrapUnique(new Value(44)), |
182 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 181 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
183 obs.VerifyAndResetChangedKey(regular_key); | 182 obs.VerifyAndResetChangedKey(regular_key); |
184 | 183 |
185 // Check that we get this value from the overlay and the underlay. | 184 // Check that we get this value from the overlay and the underlay. |
186 EXPECT_TRUE(overlay_->GetValue(regular_key, &value)); | 185 EXPECT_TRUE(overlay_->GetValue(regular_key, &value)); |
187 EXPECT_TRUE(base::FundamentalValue(44).Equals(value)); | 186 EXPECT_TRUE(base::Value(44).Equals(value)); |
188 EXPECT_TRUE(underlay_->GetValue(regular_key, &value)); | 187 EXPECT_TRUE(underlay_->GetValue(regular_key, &value)); |
189 EXPECT_TRUE(base::FundamentalValue(44).Equals(value)); | 188 EXPECT_TRUE(base::Value(44).Equals(value)); |
190 | 189 |
191 // Check that overlay remove is reported. | 190 // Check that overlay remove is reported. |
192 overlay_->RemoveValue(regular_key, | 191 overlay_->RemoveValue(regular_key, |
193 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 192 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
194 obs.VerifyAndResetChangedKey(regular_key); | 193 obs.VerifyAndResetChangedKey(regular_key); |
195 | 194 |
196 // Check that value was removed from overlay and underlay | 195 // Check that value was removed from overlay and underlay |
197 EXPECT_FALSE(overlay_->GetValue(regular_key, &value)); | 196 EXPECT_FALSE(overlay_->GetValue(regular_key, &value)); |
198 EXPECT_FALSE(underlay_->GetValue(regular_key, &value)); | 197 EXPECT_FALSE(underlay_->GetValue(regular_key, &value)); |
199 | 198 |
200 // Check respecting of silence. | 199 // Check respecting of silence. |
201 overlay_->SetValueSilently(regular_key, | 200 overlay_->SetValueSilently(regular_key, base::WrapUnique(new Value(46)), |
202 base::WrapUnique(new FundamentalValue(46)), | |
203 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 201 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
204 EXPECT_TRUE(obs.changed_keys.empty()); | 202 EXPECT_TRUE(obs.changed_keys.empty()); |
205 | 203 |
206 overlay_->RemoveObserver(&obs); | 204 overlay_->RemoveObserver(&obs); |
207 | 205 |
208 // Check successful unsubscription. | 206 // Check successful unsubscription. |
209 underlay_->SetValue(regular_key, base::WrapUnique(new FundamentalValue(47)), | 207 underlay_->SetValue(regular_key, base::WrapUnique(new Value(47)), |
210 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 208 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
211 overlay_->SetValue(regular_key, base::WrapUnique(new FundamentalValue(48)), | 209 overlay_->SetValue(regular_key, base::WrapUnique(new Value(48)), |
212 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 210 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
213 EXPECT_TRUE(obs.changed_keys.empty()); | 211 EXPECT_TRUE(obs.changed_keys.empty()); |
214 } | 212 } |
215 | 213 |
216 // Check that names mapping works correctly. | 214 // Check that names mapping works correctly. |
217 TEST_F(OverlayUserPrefStoreTest, NamesMapping) { | 215 TEST_F(OverlayUserPrefStoreTest, NamesMapping) { |
218 PrefStoreObserverMock obs; | 216 PrefStoreObserverMock obs; |
219 overlay_->AddObserver(&obs); | 217 overlay_->AddObserver(&obs); |
220 | 218 |
221 const Value* value = NULL; | 219 const Value* value = NULL; |
222 | 220 |
223 // Check that if there is no override in the overlay, changing underlay value | 221 // Check that if there is no override in the overlay, changing underlay value |
224 // is reported as changing an overlay value. | 222 // is reported as changing an overlay value. |
225 underlay_->SetValue(mapped_underlay_key, | 223 underlay_->SetValue(mapped_underlay_key, base::WrapUnique(new Value(42)), |
226 base::WrapUnique(new FundamentalValue(42)), | |
227 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 224 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
228 obs.VerifyAndResetChangedKey(mapped_overlay_key); | 225 obs.VerifyAndResetChangedKey(mapped_overlay_key); |
229 | 226 |
230 // Check that underlay overwriting is reported. | 227 // Check that underlay overwriting is reported. |
231 underlay_->SetValue(mapped_underlay_key, | 228 underlay_->SetValue(mapped_underlay_key, base::WrapUnique(new Value(43)), |
232 base::WrapUnique(new FundamentalValue(43)), | |
233 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 229 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
234 obs.VerifyAndResetChangedKey(mapped_overlay_key); | 230 obs.VerifyAndResetChangedKey(mapped_overlay_key); |
235 | 231 |
236 // Check that we get this value from the overlay with both keys | 232 // Check that we get this value from the overlay with both keys |
237 EXPECT_TRUE(overlay_->GetValue(mapped_overlay_key, &value)); | 233 EXPECT_TRUE(overlay_->GetValue(mapped_overlay_key, &value)); |
238 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 234 EXPECT_TRUE(base::Value(43).Equals(value)); |
239 // In this case, overlay reads directly from the underlay. | 235 // In this case, overlay reads directly from the underlay. |
240 EXPECT_TRUE(overlay_->GetValue(mapped_underlay_key, &value)); | 236 EXPECT_TRUE(overlay_->GetValue(mapped_underlay_key, &value)); |
241 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 237 EXPECT_TRUE(base::Value(43).Equals(value)); |
242 | 238 |
243 // Check that overwriting change in overlay is reported. | 239 // Check that overwriting change in overlay is reported. |
244 overlay_->SetValue(mapped_overlay_key, | 240 overlay_->SetValue(mapped_overlay_key, base::WrapUnique(new Value(44)), |
245 base::WrapUnique(new FundamentalValue(44)), | |
246 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 241 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
247 obs.VerifyAndResetChangedKey(mapped_overlay_key); | 242 obs.VerifyAndResetChangedKey(mapped_overlay_key); |
248 | 243 |
249 // Check that we get an overriden value from overlay, while reading the | 244 // Check that we get an overriden value from overlay, while reading the |
250 // value from underlay still holds an old value. | 245 // value from underlay still holds an old value. |
251 EXPECT_TRUE(overlay_->GetValue(mapped_overlay_key, &value)); | 246 EXPECT_TRUE(overlay_->GetValue(mapped_overlay_key, &value)); |
252 EXPECT_TRUE(base::FundamentalValue(44).Equals(value)); | 247 EXPECT_TRUE(base::Value(44).Equals(value)); |
253 EXPECT_TRUE(overlay_->GetValue(mapped_underlay_key, &value)); | 248 EXPECT_TRUE(overlay_->GetValue(mapped_underlay_key, &value)); |
254 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 249 EXPECT_TRUE(base::Value(43).Equals(value)); |
255 EXPECT_TRUE(underlay_->GetValue(mapped_underlay_key, &value)); | 250 EXPECT_TRUE(underlay_->GetValue(mapped_underlay_key, &value)); |
256 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 251 EXPECT_TRUE(base::Value(43).Equals(value)); |
257 | 252 |
258 // Check that hidden underlay change is not reported. | 253 // Check that hidden underlay change is not reported. |
259 underlay_->SetValue(mapped_underlay_key, | 254 underlay_->SetValue(mapped_underlay_key, base::WrapUnique(new Value(45)), |
260 base::WrapUnique(new FundamentalValue(45)), | |
261 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 255 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
262 EXPECT_TRUE(obs.changed_keys.empty()); | 256 EXPECT_TRUE(obs.changed_keys.empty()); |
263 | 257 |
264 // Check that overlay remove is reported. | 258 // Check that overlay remove is reported. |
265 overlay_->RemoveValue(mapped_overlay_key, | 259 overlay_->RemoveValue(mapped_overlay_key, |
266 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 260 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
267 obs.VerifyAndResetChangedKey(mapped_overlay_key); | 261 obs.VerifyAndResetChangedKey(mapped_overlay_key); |
268 | 262 |
269 // Check that underlay remove is reported. | 263 // Check that underlay remove is reported. |
270 underlay_->RemoveValue(mapped_underlay_key, | 264 underlay_->RemoveValue(mapped_underlay_key, |
271 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 265 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
272 obs.VerifyAndResetChangedKey(mapped_overlay_key); | 266 obs.VerifyAndResetChangedKey(mapped_overlay_key); |
273 | 267 |
274 // Check that value was removed. | 268 // Check that value was removed. |
275 EXPECT_FALSE(overlay_->GetValue(mapped_overlay_key, &value)); | 269 EXPECT_FALSE(overlay_->GetValue(mapped_overlay_key, &value)); |
276 EXPECT_FALSE(overlay_->GetValue(mapped_underlay_key, &value)); | 270 EXPECT_FALSE(overlay_->GetValue(mapped_underlay_key, &value)); |
277 | 271 |
278 // Check respecting of silence. | 272 // Check respecting of silence. |
279 overlay_->SetValueSilently(mapped_overlay_key, | 273 overlay_->SetValueSilently(mapped_overlay_key, |
280 base::WrapUnique(new FundamentalValue(46)), | 274 base::WrapUnique(new Value(46)), |
281 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 275 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
282 EXPECT_TRUE(obs.changed_keys.empty()); | 276 EXPECT_TRUE(obs.changed_keys.empty()); |
283 | 277 |
284 overlay_->RemoveObserver(&obs); | 278 overlay_->RemoveObserver(&obs); |
285 | 279 |
286 // Check successful unsubscription. | 280 // Check successful unsubscription. |
287 underlay_->SetValue(mapped_underlay_key, | 281 underlay_->SetValue(mapped_underlay_key, base::WrapUnique(new Value(47)), |
288 base::WrapUnique(new FundamentalValue(47)), | |
289 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 282 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
290 overlay_->SetValue(mapped_overlay_key, | 283 overlay_->SetValue(mapped_overlay_key, base::WrapUnique(new Value(48)), |
291 base::WrapUnique(new FundamentalValue(48)), | |
292 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 284 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
293 EXPECT_TRUE(obs.changed_keys.empty()); | 285 EXPECT_TRUE(obs.changed_keys.empty()); |
294 } | 286 } |
295 | 287 |
296 // Check that mutable values are removed correctly. | 288 // Check that mutable values are removed correctly. |
297 TEST_F(OverlayUserPrefStoreTest, ClearMutableValues) { | 289 TEST_F(OverlayUserPrefStoreTest, ClearMutableValues) { |
298 // Set in overlay and underlay the same preference. | 290 // Set in overlay and underlay the same preference. |
299 underlay_->SetValue(overlay_key, base::WrapUnique(new FundamentalValue(42)), | 291 underlay_->SetValue(overlay_key, base::WrapUnique(new Value(42)), |
300 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 292 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
301 overlay_->SetValue(overlay_key, base::WrapUnique(new FundamentalValue(43)), | 293 overlay_->SetValue(overlay_key, base::WrapUnique(new Value(43)), |
302 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 294 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
303 | 295 |
304 const Value* value = nullptr; | 296 const Value* value = nullptr; |
305 // Check that an overlay preference is returned. | 297 // Check that an overlay preference is returned. |
306 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); | 298 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); |
307 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 299 EXPECT_TRUE(base::Value(43).Equals(value)); |
308 overlay_->ClearMutableValues(); | 300 overlay_->ClearMutableValues(); |
309 | 301 |
310 // Check that an underlay preference is returned. | 302 // Check that an underlay preference is returned. |
311 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); | 303 EXPECT_TRUE(overlay_->GetValue(overlay_key, &value)); |
312 EXPECT_TRUE(base::FundamentalValue(42).Equals(value)); | 304 EXPECT_TRUE(base::Value(42).Equals(value)); |
313 } | 305 } |
314 | 306 |
315 TEST_F(OverlayUserPrefStoreTest, GetValues) { | 307 TEST_F(OverlayUserPrefStoreTest, GetValues) { |
316 // To check merge behavior, create underlay and overlay so each has a key the | 308 // To check merge behavior, create underlay and overlay so each has a key the |
317 // other doesn't have and they have one key in common. | 309 // other doesn't have and they have one key in common. |
318 underlay_->SetValue(regular_key, base::WrapUnique(new FundamentalValue(42)), | 310 underlay_->SetValue(regular_key, base::WrapUnique(new Value(42)), |
319 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 311 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
320 overlay_->SetValue(overlay_key, base::WrapUnique(new FundamentalValue(43)), | 312 overlay_->SetValue(overlay_key, base::WrapUnique(new Value(43)), |
321 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 313 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
322 underlay_->SetValue(shared_key, base::WrapUnique(new FundamentalValue(42)), | 314 underlay_->SetValue(shared_key, base::WrapUnique(new Value(42)), |
323 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 315 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
324 overlay_->SetValue(shared_key, base::WrapUnique(new FundamentalValue(43)), | 316 overlay_->SetValue(shared_key, base::WrapUnique(new Value(43)), |
325 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 317 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
326 underlay_->SetValue(mapped_underlay_key, | 318 underlay_->SetValue(mapped_underlay_key, base::WrapUnique(new Value(42)), |
327 base::WrapUnique(new FundamentalValue(42)), | |
328 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 319 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
329 overlay_->SetValue(mapped_overlay_key, | 320 overlay_->SetValue(mapped_overlay_key, base::WrapUnique(new Value(43)), |
330 base::WrapUnique(new FundamentalValue(43)), | |
331 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 321 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
332 | 322 |
333 auto values = overlay_->GetValues(); | 323 auto values = overlay_->GetValues(); |
334 const Value* value = nullptr; | 324 const Value* value = nullptr; |
335 // Check that an overlay preference is returned. | 325 // Check that an overlay preference is returned. |
336 ASSERT_TRUE(values->Get(overlay_key, &value)); | 326 ASSERT_TRUE(values->Get(overlay_key, &value)); |
337 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 327 EXPECT_TRUE(base::Value(43).Equals(value)); |
338 | 328 |
339 // Check that an underlay preference is returned. | 329 // Check that an underlay preference is returned. |
340 ASSERT_TRUE(values->Get(regular_key, &value)); | 330 ASSERT_TRUE(values->Get(regular_key, &value)); |
341 EXPECT_TRUE(base::FundamentalValue(42).Equals(value)); | 331 EXPECT_TRUE(base::Value(42).Equals(value)); |
342 | 332 |
343 // Check that the overlay is preferred. | 333 // Check that the overlay is preferred. |
344 ASSERT_TRUE(values->Get(shared_key, &value)); | 334 ASSERT_TRUE(values->Get(shared_key, &value)); |
345 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 335 EXPECT_TRUE(base::Value(43).Equals(value)); |
346 | 336 |
347 // Check that mapping works. | 337 // Check that mapping works. |
348 ASSERT_TRUE(values->Get(mapped_overlay_key, &value)); | 338 ASSERT_TRUE(values->Get(mapped_overlay_key, &value)); |
349 EXPECT_TRUE(base::FundamentalValue(43).Equals(value)); | 339 EXPECT_TRUE(base::Value(43).Equals(value)); |
350 EXPECT_FALSE(values->Get(mapped_underlay_key, &value)); | 340 EXPECT_FALSE(values->Get(mapped_underlay_key, &value)); |
351 } | 341 } |
352 | 342 |
353 } // namespace base | 343 } // namespace base |
OLD | NEW |