OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/value_store/value_store_unittest.h" | 5 #include "extensions/browser/value_store/value_store_unittest.h" |
6 | 6 |
7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
8 #include "base/memory/linked_ptr.h" | 8 #include "base/memory/linked_ptr.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 | 10 |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 TEST_P(ValueStoreTest, GetWhenEmpty) { | 181 TEST_P(ValueStoreTest, GetWhenEmpty) { |
182 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 182 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
183 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 183 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
184 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); | 184 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); |
185 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 185 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
186 } | 186 } |
187 | 187 |
188 TEST_P(ValueStoreTest, GetWithSingleValue) { | 188 TEST_P(ValueStoreTest, GetWithSingleValue) { |
189 { | 189 { |
190 ValueStoreChangeList changes; | 190 ValueStoreChangeList changes; |
191 changes.push_back(ValueStoreChange(key1_, NULL, val1_->DeepCopy())); | 191 changes.push_back(ValueStoreChange(key1_, nullptr, val1_->DeepCopy())); |
192 EXPECT_PRED_FORMAT2(ChangesEq, | 192 EXPECT_PRED_FORMAT2(ChangesEq, |
193 changes, storage_->Set(DEFAULTS, key1_, *val1_)); | 193 changes, storage_->Set(DEFAULTS, key1_, *val1_)); |
194 } | 194 } |
195 | 195 |
196 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); | 196 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); |
197 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key2_)); | 197 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key2_)); |
198 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 198 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
199 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 199 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
200 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list123_)); | 200 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list123_)); |
201 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get()); | 201 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get()); |
202 } | 202 } |
203 | 203 |
204 TEST_P(ValueStoreTest, GetWithMultipleValues) { | 204 TEST_P(ValueStoreTest, GetWithMultipleValues) { |
205 { | 205 { |
206 ValueStoreChangeList changes; | 206 ValueStoreChangeList changes; |
207 changes.push_back(ValueStoreChange(key1_, NULL, val1_->DeepCopy())); | 207 changes.push_back(ValueStoreChange(key1_, nullptr, val1_->DeepCopy())); |
208 changes.push_back(ValueStoreChange(key2_, NULL, val2_->DeepCopy())); | 208 changes.push_back(ValueStoreChange(key2_, nullptr, val2_->DeepCopy())); |
209 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, *dict12_)); | 209 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, *dict12_)); |
210 } | 210 } |
211 | 211 |
212 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); | 212 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); |
213 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 213 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
214 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 214 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
215 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); | 215 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); |
216 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); | 216 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); |
217 } | 217 } |
218 | 218 |
219 TEST_P(ValueStoreTest, RemoveWhenEmpty) { | 219 TEST_P(ValueStoreTest, RemoveWhenEmpty) { |
220 EXPECT_PRED_FORMAT2(ChangesEq, ValueStoreChangeList(), | 220 EXPECT_PRED_FORMAT2(ChangesEq, ValueStoreChangeList(), |
221 storage_->Remove(key1_)); | 221 storage_->Remove(key1_)); |
222 | 222 |
223 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 223 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
224 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); | 224 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); |
225 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 225 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
226 } | 226 } |
227 | 227 |
228 TEST_P(ValueStoreTest, RemoveWithSingleValue) { | 228 TEST_P(ValueStoreTest, RemoveWithSingleValue) { |
229 storage_->Set(DEFAULTS, *dict1_); | 229 storage_->Set(DEFAULTS, *dict1_); |
230 { | 230 { |
231 ValueStoreChangeList changes; | 231 ValueStoreChangeList changes; |
232 changes.push_back(ValueStoreChange(key1_, val1_->DeepCopy(), NULL)); | 232 changes.push_back(ValueStoreChange(key1_, val1_->DeepCopy(), nullptr)); |
233 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key1_)); | 233 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key1_)); |
234 } | 234 } |
235 | 235 |
236 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 236 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
237 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key2_)); | 237 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key2_)); |
238 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); | 238 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); |
239 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list12_)); | 239 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list12_)); |
240 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 240 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
241 } | 241 } |
242 | 242 |
243 TEST_P(ValueStoreTest, RemoveWithMultipleValues) { | 243 TEST_P(ValueStoreTest, RemoveWithMultipleValues) { |
244 storage_->Set(DEFAULTS, *dict123_); | 244 storage_->Set(DEFAULTS, *dict123_); |
245 { | 245 { |
246 ValueStoreChangeList changes; | 246 ValueStoreChangeList changes; |
247 changes.push_back(ValueStoreChange(key3_, val3_->DeepCopy(), NULL)); | 247 changes.push_back(ValueStoreChange(key3_, val3_->DeepCopy(), nullptr)); |
248 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key3_)); | 248 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key3_)); |
249 } | 249 } |
250 | 250 |
251 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); | 251 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); |
252 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 252 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
253 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 253 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
254 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list1_)); | 254 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list1_)); |
255 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list12_)); | 255 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list12_)); |
256 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list13_)); | 256 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list13_)); |
257 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); | 257 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); |
258 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); | 258 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); |
259 | 259 |
260 { | 260 { |
261 ValueStoreChangeList changes; | 261 ValueStoreChangeList changes; |
262 changes.push_back(ValueStoreChange(key1_, val1_->DeepCopy(), NULL)); | 262 changes.push_back(ValueStoreChange(key1_, val1_->DeepCopy(), nullptr)); |
263 changes.push_back(ValueStoreChange(key2_, val2_->DeepCopy(), NULL)); | 263 changes.push_back(ValueStoreChange(key2_, val2_->DeepCopy(), nullptr)); |
264 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(list12_)); | 264 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(list12_)); |
265 } | 265 } |
266 | 266 |
267 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 267 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
268 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 268 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
269 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 269 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
270 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); | 270 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); |
271 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list12_)); | 271 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list12_)); |
272 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list13_)); | 272 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list13_)); |
273 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); | 273 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); |
274 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 274 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
275 } | 275 } |
276 | 276 |
277 TEST_P(ValueStoreTest, SetWhenOverwriting) { | 277 TEST_P(ValueStoreTest, SetWhenOverwriting) { |
278 storage_->Set(DEFAULTS, key1_, *val2_); | 278 storage_->Set(DEFAULTS, key1_, *val2_); |
279 { | 279 { |
280 ValueStoreChangeList changes; | 280 ValueStoreChangeList changes; |
281 changes.push_back( | 281 changes.push_back( |
282 ValueStoreChange(key1_, val2_->DeepCopy(), val1_->DeepCopy())); | 282 ValueStoreChange(key1_, val2_->DeepCopy(), val1_->DeepCopy())); |
283 changes.push_back(ValueStoreChange(key2_, NULL, val2_->DeepCopy())); | 283 changes.push_back(ValueStoreChange(key2_, nullptr, val2_->DeepCopy())); |
284 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, *dict12_)); | 284 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, *dict12_)); |
285 } | 285 } |
286 | 286 |
287 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); | 287 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); |
288 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 288 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
289 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 289 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
290 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list1_)); | 290 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list1_)); |
291 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list12_)); | 291 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list12_)); |
292 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list13_)); | 292 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list13_)); |
293 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); | 293 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); |
294 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); | 294 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); |
295 } | 295 } |
296 | 296 |
297 TEST_P(ValueStoreTest, ClearWhenEmpty) { | 297 TEST_P(ValueStoreTest, ClearWhenEmpty) { |
298 EXPECT_PRED_FORMAT2(ChangesEq, ValueStoreChangeList(), storage_->Clear()); | 298 EXPECT_PRED_FORMAT2(ChangesEq, ValueStoreChangeList(), storage_->Clear()); |
299 | 299 |
300 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 300 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
301 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 301 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
302 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); | 302 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); |
303 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 303 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
304 } | 304 } |
305 | 305 |
306 TEST_P(ValueStoreTest, ClearWhenNotEmpty) { | 306 TEST_P(ValueStoreTest, ClearWhenNotEmpty) { |
307 storage_->Set(DEFAULTS, *dict12_); | 307 storage_->Set(DEFAULTS, *dict12_); |
308 { | 308 { |
309 ValueStoreChangeList changes; | 309 ValueStoreChangeList changes; |
310 changes.push_back(ValueStoreChange(key1_, val1_->DeepCopy(), NULL)); | 310 changes.push_back(ValueStoreChange(key1_, val1_->DeepCopy(), nullptr)); |
311 changes.push_back(ValueStoreChange(key2_, val2_->DeepCopy(), NULL)); | 311 changes.push_back(ValueStoreChange(key2_, val2_->DeepCopy(), nullptr)); |
312 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); | 312 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); |
313 } | 313 } |
314 | 314 |
315 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 315 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
316 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 316 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
317 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); | 317 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); |
318 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 318 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
319 } | 319 } |
320 | 320 |
321 // Dots should be allowed in key names; they shouldn't be interpreted as | 321 // Dots should be allowed in key names; they shouldn't be interpreted as |
322 // indexing into a dictionary. | 322 // indexing into a dictionary. |
323 TEST_P(ValueStoreTest, DotsInKeyNames) { | 323 TEST_P(ValueStoreTest, DotsInKeyNames) { |
324 std::string dot_key("foo.bar"); | 324 std::string dot_key("foo.bar"); |
325 base::StringValue dot_value("baz.qux"); | 325 base::StringValue dot_value("baz.qux"); |
326 std::vector<std::string> dot_list; | 326 std::vector<std::string> dot_list; |
327 dot_list.push_back(dot_key); | 327 dot_list.push_back(dot_key); |
328 base::DictionaryValue dot_dict; | 328 base::DictionaryValue dot_dict; |
329 dot_dict.SetWithoutPathExpansion(dot_key, dot_value.DeepCopy()); | 329 dot_dict.SetWithoutPathExpansion(dot_key, dot_value.DeepCopy()); |
330 | 330 |
331 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(dot_key)); | 331 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(dot_key)); |
332 | 332 |
333 { | 333 { |
334 ValueStoreChangeList changes; | 334 ValueStoreChangeList changes; |
335 changes.push_back( | 335 changes.push_back(ValueStoreChange(dot_key, nullptr, dot_value.DeepCopy())); |
336 ValueStoreChange(dot_key, NULL, dot_value.DeepCopy())); | |
337 EXPECT_PRED_FORMAT2(ChangesEq, | 336 EXPECT_PRED_FORMAT2(ChangesEq, |
338 changes, storage_->Set(DEFAULTS, dot_key, dot_value)); | 337 changes, storage_->Set(DEFAULTS, dot_key, dot_value)); |
339 } | 338 } |
340 EXPECT_PRED_FORMAT2(ChangesEq, | 339 EXPECT_PRED_FORMAT2(ChangesEq, |
341 ValueStoreChangeList(), storage_->Set(DEFAULTS, dot_key, dot_value)); | 340 ValueStoreChangeList(), storage_->Set(DEFAULTS, dot_key, dot_value)); |
342 | 341 |
343 EXPECT_PRED_FORMAT2(SettingsEq, dot_dict, storage_->Get(dot_key)); | 342 EXPECT_PRED_FORMAT2(SettingsEq, dot_dict, storage_->Get(dot_key)); |
344 | 343 |
345 { | 344 { |
346 ValueStoreChangeList changes; | 345 ValueStoreChangeList changes; |
347 changes.push_back( | 346 changes.push_back(ValueStoreChange(dot_key, dot_value.DeepCopy(), nullptr)); |
348 ValueStoreChange(dot_key, dot_value.DeepCopy(), NULL)); | |
349 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(dot_key)); | 347 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(dot_key)); |
350 } | 348 } |
351 EXPECT_PRED_FORMAT2(ChangesEq, | 349 EXPECT_PRED_FORMAT2(ChangesEq, |
352 ValueStoreChangeList(), storage_->Remove(dot_key)); | 350 ValueStoreChangeList(), storage_->Remove(dot_key)); |
353 { | 351 { |
354 ValueStoreChangeList changes; | 352 ValueStoreChangeList changes; |
355 changes.push_back( | 353 changes.push_back(ValueStoreChange(dot_key, nullptr, dot_value.DeepCopy())); |
356 ValueStoreChange(dot_key, NULL, dot_value.DeepCopy())); | |
357 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, dot_dict)); | 354 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, dot_dict)); |
358 } | 355 } |
359 | 356 |
360 EXPECT_PRED_FORMAT2(SettingsEq, dot_dict, storage_->Get(dot_list)); | 357 EXPECT_PRED_FORMAT2(SettingsEq, dot_dict, storage_->Get(dot_list)); |
361 EXPECT_PRED_FORMAT2(SettingsEq, dot_dict, storage_->Get()); | 358 EXPECT_PRED_FORMAT2(SettingsEq, dot_dict, storage_->Get()); |
362 | 359 |
363 { | 360 { |
364 ValueStoreChangeList changes; | 361 ValueStoreChangeList changes; |
365 changes.push_back( | 362 changes.push_back(ValueStoreChange(dot_key, dot_value.DeepCopy(), nullptr)); |
366 ValueStoreChange(dot_key, dot_value.DeepCopy(), NULL)); | |
367 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(dot_list)); | 363 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(dot_list)); |
368 } | 364 } |
369 | 365 |
370 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(dot_key)); | 366 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(dot_key)); |
371 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 367 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
372 } | 368 } |
373 | 369 |
374 TEST_P(ValueStoreTest, DotsInKeyNamesWithDicts) { | 370 TEST_P(ValueStoreTest, DotsInKeyNamesWithDicts) { |
375 base::DictionaryValue outer_dict; | 371 base::DictionaryValue outer_dict; |
376 base::DictionaryValue* inner_dict = new base::DictionaryValue(); | 372 base::DictionaryValue* inner_dict = new base::DictionaryValue(); |
377 outer_dict.Set("foo", inner_dict); | 373 outer_dict.Set("foo", inner_dict); |
378 inner_dict->SetString("bar", "baz"); | 374 inner_dict->SetString("bar", "baz"); |
379 | 375 |
380 { | 376 { |
381 ValueStoreChangeList changes; | 377 ValueStoreChangeList changes; |
382 changes.push_back( | 378 changes.push_back(ValueStoreChange("foo", nullptr, inner_dict->DeepCopy())); |
383 ValueStoreChange("foo", NULL, inner_dict->DeepCopy())); | |
384 EXPECT_PRED_FORMAT2(ChangesEq, | 379 EXPECT_PRED_FORMAT2(ChangesEq, |
385 changes, storage_->Set(DEFAULTS, outer_dict)); | 380 changes, storage_->Set(DEFAULTS, outer_dict)); |
386 } | 381 } |
387 | 382 |
388 EXPECT_PRED_FORMAT2(SettingsEq, outer_dict, storage_->Get("foo")); | 383 EXPECT_PRED_FORMAT2(SettingsEq, outer_dict, storage_->Get("foo")); |
389 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get("foo.bar")); | 384 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get("foo.bar")); |
390 } | 385 } |
391 | 386 |
392 TEST_P(ValueStoreTest, ComplexChangedKeysScenarios) { | 387 TEST_P(ValueStoreTest, ComplexChangedKeysScenarios) { |
393 // Test: | 388 // Test: |
394 // - Setting over missing/changed/same keys, combinations. | 389 // - Setting over missing/changed/same keys, combinations. |
395 // - Removing over missing and present keys, combinations. | 390 // - Removing over missing and present keys, combinations. |
396 // - Clearing. | 391 // - Clearing. |
397 std::vector<std::string> complex_list; | 392 std::vector<std::string> complex_list; |
398 base::DictionaryValue complex_changed_dict; | 393 base::DictionaryValue complex_changed_dict; |
399 | 394 |
400 storage_->Set(DEFAULTS, key1_, *val1_); | 395 storage_->Set(DEFAULTS, key1_, *val1_); |
401 EXPECT_PRED_FORMAT2(ChangesEq, | 396 EXPECT_PRED_FORMAT2(ChangesEq, |
402 ValueStoreChangeList(), storage_->Set(DEFAULTS, key1_, *val1_)); | 397 ValueStoreChangeList(), storage_->Set(DEFAULTS, key1_, *val1_)); |
403 { | 398 { |
404 ValueStoreChangeList changes; | 399 ValueStoreChangeList changes; |
405 changes.push_back(ValueStoreChange( | 400 changes.push_back(ValueStoreChange( |
406 key1_, val1_->DeepCopy(), val2_->DeepCopy())); | 401 key1_, val1_->DeepCopy(), val2_->DeepCopy())); |
407 EXPECT_PRED_FORMAT2(ChangesEq, | 402 EXPECT_PRED_FORMAT2(ChangesEq, |
408 changes, storage_->Set(DEFAULTS, key1_, *val2_)); | 403 changes, storage_->Set(DEFAULTS, key1_, *val2_)); |
409 } | 404 } |
410 { | 405 { |
411 ValueStoreChangeList changes; | 406 ValueStoreChangeList changes; |
412 changes.push_back(ValueStoreChange(key1_, val2_->DeepCopy(), NULL)); | 407 changes.push_back(ValueStoreChange(key1_, val2_->DeepCopy(), nullptr)); |
413 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key1_)); | 408 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key1_)); |
414 EXPECT_PRED_FORMAT2(ChangesEq, | 409 EXPECT_PRED_FORMAT2(ChangesEq, |
415 ValueStoreChangeList(), storage_->Remove(key1_)); | 410 ValueStoreChangeList(), storage_->Remove(key1_)); |
416 } | 411 } |
417 { | 412 { |
418 ValueStoreChangeList changes; | 413 ValueStoreChangeList changes; |
419 changes.push_back(ValueStoreChange(key1_, NULL, val1_->DeepCopy())); | 414 changes.push_back(ValueStoreChange(key1_, nullptr, val1_->DeepCopy())); |
420 EXPECT_PRED_FORMAT2(ChangesEq, | 415 EXPECT_PRED_FORMAT2(ChangesEq, |
421 changes, storage_->Set(DEFAULTS, key1_, *val1_)); | 416 changes, storage_->Set(DEFAULTS, key1_, *val1_)); |
422 } | 417 } |
423 { | 418 { |
424 ValueStoreChangeList changes; | 419 ValueStoreChangeList changes; |
425 changes.push_back(ValueStoreChange(key1_, val1_->DeepCopy(), NULL)); | 420 changes.push_back(ValueStoreChange(key1_, val1_->DeepCopy(), nullptr)); |
426 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); | 421 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); |
427 EXPECT_PRED_FORMAT2(ChangesEq, ValueStoreChangeList(), storage_->Clear()); | 422 EXPECT_PRED_FORMAT2(ChangesEq, ValueStoreChangeList(), storage_->Clear()); |
428 } | 423 } |
429 | 424 |
430 { | 425 { |
431 ValueStoreChangeList changes; | 426 ValueStoreChangeList changes; |
432 changes.push_back(ValueStoreChange(key1_, NULL, val1_->DeepCopy())); | 427 changes.push_back(ValueStoreChange(key1_, nullptr, val1_->DeepCopy())); |
433 changes.push_back(ValueStoreChange(key2_, NULL, val2_->DeepCopy())); | 428 changes.push_back(ValueStoreChange(key2_, nullptr, val2_->DeepCopy())); |
434 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, *dict12_)); | 429 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, *dict12_)); |
435 EXPECT_PRED_FORMAT2(ChangesEq, | 430 EXPECT_PRED_FORMAT2(ChangesEq, |
436 ValueStoreChangeList(), storage_->Set(DEFAULTS, *dict12_)); | 431 ValueStoreChangeList(), storage_->Set(DEFAULTS, *dict12_)); |
437 } | 432 } |
438 { | 433 { |
439 ValueStoreChangeList changes; | 434 ValueStoreChangeList changes; |
440 changes.push_back(ValueStoreChange(key3_, NULL, val3_->DeepCopy())); | 435 changes.push_back(ValueStoreChange(key3_, nullptr, val3_->DeepCopy())); |
441 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, *dict123_)); | 436 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, *dict123_)); |
442 } | 437 } |
443 { | 438 { |
444 base::DictionaryValue to_set; | 439 base::DictionaryValue to_set; |
445 to_set.Set(key1_, val2_->DeepCopy()); | 440 to_set.Set(key1_, val2_->DeepCopy()); |
446 to_set.Set(key2_, val2_->DeepCopy()); | 441 to_set.Set(key2_, val2_->DeepCopy()); |
447 to_set.Set("asdf", val1_->DeepCopy()); | 442 to_set.Set("asdf", val1_->DeepCopy()); |
448 to_set.Set("qwerty", val3_->DeepCopy()); | 443 to_set.Set("qwerty", val3_->DeepCopy()); |
449 | 444 |
450 ValueStoreChangeList changes; | 445 ValueStoreChangeList changes; |
451 changes.push_back( | 446 changes.push_back( |
452 ValueStoreChange(key1_, val1_->DeepCopy(), val2_->DeepCopy())); | 447 ValueStoreChange(key1_, val1_->DeepCopy(), val2_->DeepCopy())); |
453 changes.push_back(ValueStoreChange("asdf", NULL, val1_->DeepCopy())); | 448 changes.push_back(ValueStoreChange("asdf", nullptr, val1_->DeepCopy())); |
454 changes.push_back( | 449 changes.push_back(ValueStoreChange("qwerty", nullptr, val3_->DeepCopy())); |
455 ValueStoreChange("qwerty", NULL, val3_->DeepCopy())); | |
456 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, to_set)); | 450 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(DEFAULTS, to_set)); |
457 } | 451 } |
458 { | 452 { |
459 ValueStoreChangeList changes; | 453 ValueStoreChangeList changes; |
460 changes.push_back(ValueStoreChange(key1_, val2_->DeepCopy(), NULL)); | 454 changes.push_back(ValueStoreChange(key1_, val2_->DeepCopy(), nullptr)); |
461 changes.push_back(ValueStoreChange(key2_, val2_->DeepCopy(), NULL)); | 455 changes.push_back(ValueStoreChange(key2_, val2_->DeepCopy(), nullptr)); |
462 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(list12_)); | 456 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(list12_)); |
463 } | 457 } |
464 { | 458 { |
465 std::vector<std::string> to_remove; | 459 std::vector<std::string> to_remove; |
466 to_remove.push_back(key1_); | 460 to_remove.push_back(key1_); |
467 to_remove.push_back("asdf"); | 461 to_remove.push_back("asdf"); |
468 | 462 |
469 ValueStoreChangeList changes; | 463 ValueStoreChangeList changes; |
470 changes.push_back(ValueStoreChange("asdf", val1_->DeepCopy(), NULL)); | 464 changes.push_back(ValueStoreChange("asdf", val1_->DeepCopy(), nullptr)); |
471 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(to_remove)); | 465 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(to_remove)); |
472 } | 466 } |
473 { | 467 { |
474 ValueStoreChangeList changes; | 468 ValueStoreChangeList changes; |
475 changes.push_back(ValueStoreChange(key3_, val3_->DeepCopy(), NULL)); | 469 changes.push_back(ValueStoreChange(key3_, val3_->DeepCopy(), nullptr)); |
476 changes.push_back( | 470 changes.push_back(ValueStoreChange("qwerty", val3_->DeepCopy(), nullptr)); |
477 ValueStoreChange("qwerty", val3_->DeepCopy(), NULL)); | |
478 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); | 471 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); |
479 EXPECT_PRED_FORMAT2(ChangesEq, ValueStoreChangeList(), storage_->Clear()); | 472 EXPECT_PRED_FORMAT2(ChangesEq, ValueStoreChangeList(), storage_->Clear()); |
480 } | 473 } |
481 } | 474 } |
OLD | NEW |