OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/extensions/settings/settings_storage_unittest.h" | 5 #include "chrome/browser/extensions/settings/settings_storage_unittest.h" |
6 | 6 |
7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 | 10 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 } | 127 } |
128 if (!ValuesEqual(expected_change.old_value(), it->old_value(), &error)) { | 128 if (!ValuesEqual(expected_change.old_value(), it->old_value(), &error)) { |
129 return testing::AssertionFailure() << | 129 return testing::AssertionFailure() << |
130 "Old value for " << it->key() << " was unexpected: " << error; | 130 "Old value for " << it->key() << " was unexpected: " << error; |
131 } | 131 } |
132 } | 132 } |
133 | 133 |
134 return testing::AssertionSuccess(); | 134 return testing::AssertionSuccess(); |
135 } | 135 } |
136 | 136 |
137 SettingsStorageTest::SettingsStorageTest() | 137 ExtensionSettingsStorageTest::ExtensionSettingsStorageTest() |
138 : key1_("foo"), | 138 : key1_("foo"), |
139 key2_("bar"), | 139 key2_("bar"), |
140 key3_("baz"), | 140 key3_("baz"), |
141 empty_dict_(new DictionaryValue()), | 141 empty_dict_(new DictionaryValue()), |
142 dict1_(new DictionaryValue()), | 142 dict1_(new DictionaryValue()), |
143 dict3_(new DictionaryValue()), | 143 dict3_(new DictionaryValue()), |
144 dict12_(new DictionaryValue()), | 144 dict12_(new DictionaryValue()), |
145 dict123_(new DictionaryValue()), | 145 dict123_(new DictionaryValue()), |
146 ui_thread_(BrowserThread::UI, MessageLoop::current()), | 146 ui_thread_(BrowserThread::UI, MessageLoop::current()), |
147 file_thread_(BrowserThread::FILE, MessageLoop::current()) { | 147 file_thread_(BrowserThread::FILE, MessageLoop::current()) { |
(...skipping 21 matching lines...) Expand all Loading... |
169 | 169 |
170 dict1_->Set(key1_, val1_->DeepCopy()); | 170 dict1_->Set(key1_, val1_->DeepCopy()); |
171 dict3_->Set(key3_, val3_->DeepCopy()); | 171 dict3_->Set(key3_, val3_->DeepCopy()); |
172 dict12_->Set(key1_, val1_->DeepCopy()); | 172 dict12_->Set(key1_, val1_->DeepCopy()); |
173 dict12_->Set(key2_, val2_->DeepCopy()); | 173 dict12_->Set(key2_, val2_->DeepCopy()); |
174 dict123_->Set(key1_, val1_->DeepCopy()); | 174 dict123_->Set(key1_, val1_->DeepCopy()); |
175 dict123_->Set(key2_, val2_->DeepCopy()); | 175 dict123_->Set(key2_, val2_->DeepCopy()); |
176 dict123_->Set(key3_, val3_->DeepCopy()); | 176 dict123_->Set(key3_, val3_->DeepCopy()); |
177 } | 177 } |
178 | 178 |
179 SettingsStorageTest::~SettingsStorageTest() {} | 179 ExtensionSettingsStorageTest::~ExtensionSettingsStorageTest() {} |
180 | 180 |
181 void SettingsStorageTest::SetUp() { | 181 void ExtensionSettingsStorageTest::SetUp() { |
182 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 182 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
183 storage_.reset((GetParam())(temp_dir_.path(), "fakeExtension")); | 183 storage_.reset((GetParam())(temp_dir_.path(), "fakeExtension")); |
184 ASSERT_TRUE(storage_.get()); | 184 ASSERT_TRUE(storage_.get()); |
185 } | 185 } |
186 | 186 |
187 void SettingsStorageTest::TearDown() { | 187 void ExtensionSettingsStorageTest::TearDown() { |
188 storage_.reset(); | 188 storage_.reset(); |
189 } | 189 } |
190 | 190 |
191 TEST_P(SettingsStorageTest, GetWhenEmpty) { | 191 TEST_P(ExtensionSettingsStorageTest, GetWhenEmpty) { |
192 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 192 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
193 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 193 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
194 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); | 194 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); |
195 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 195 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
196 } | 196 } |
197 | 197 |
198 TEST_P(SettingsStorageTest, GetWithSingleValue) { | 198 TEST_P(ExtensionSettingsStorageTest, GetWithSingleValue) { |
199 { | 199 { |
200 SettingChangeList changes; | 200 SettingChangeList changes; |
201 changes.push_back(SettingChange(key1_, NULL, val1_->DeepCopy())); | 201 changes.push_back(SettingChange(key1_, NULL, val1_->DeepCopy())); |
202 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(key1_, *val1_)); | 202 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(key1_, *val1_)); |
203 } | 203 } |
204 | 204 |
205 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); | 205 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); |
206 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key2_)); | 206 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key2_)); |
207 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 207 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
208 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 208 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
209 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list123_)); | 209 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list123_)); |
210 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get()); | 210 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get()); |
211 } | 211 } |
212 | 212 |
213 TEST_P(SettingsStorageTest, GetWithMultipleValues) { | 213 TEST_P(ExtensionSettingsStorageTest, GetWithMultipleValues) { |
214 { | 214 { |
215 SettingChangeList changes; | 215 SettingChangeList changes; |
216 changes.push_back(SettingChange(key1_, NULL, val1_->DeepCopy())); | 216 changes.push_back(SettingChange(key1_, NULL, val1_->DeepCopy())); |
217 changes.push_back(SettingChange(key2_, NULL, val2_->DeepCopy())); | 217 changes.push_back(SettingChange(key2_, NULL, val2_->DeepCopy())); |
218 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(*dict12_)); | 218 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(*dict12_)); |
219 } | 219 } |
220 | 220 |
221 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); | 221 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); |
222 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 222 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
223 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 223 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
224 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); | 224 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); |
225 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); | 225 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); |
226 } | 226 } |
227 | 227 |
228 TEST_P(SettingsStorageTest, RemoveWhenEmpty) { | 228 TEST_P(ExtensionSettingsStorageTest, RemoveWhenEmpty) { |
229 EXPECT_PRED_FORMAT2(ChangesEq, | 229 EXPECT_PRED_FORMAT2(ChangesEq, |
230 SettingChangeList(), storage_->Remove(key1_)); | 230 SettingChangeList(), storage_->Remove(key1_)); |
231 | 231 |
232 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 232 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
233 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); | 233 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); |
234 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 234 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
235 } | 235 } |
236 | 236 |
237 TEST_P(SettingsStorageTest, RemoveWithSingleValue) { | 237 TEST_P(ExtensionSettingsStorageTest, RemoveWithSingleValue) { |
238 storage_->Set(*dict1_); | 238 storage_->Set(*dict1_); |
239 { | 239 { |
240 SettingChangeList changes; | 240 SettingChangeList changes; |
241 changes.push_back(SettingChange(key1_, val1_->DeepCopy(), NULL)); | 241 changes.push_back(SettingChange(key1_, val1_->DeepCopy(), NULL)); |
242 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key1_)); | 242 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key1_)); |
243 } | 243 } |
244 | 244 |
245 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 245 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
246 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key2_)); | 246 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key2_)); |
247 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); | 247 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); |
248 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list12_)); | 248 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list12_)); |
249 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 249 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
250 } | 250 } |
251 | 251 |
252 TEST_P(SettingsStorageTest, RemoveWithMultipleValues) { | 252 TEST_P(ExtensionSettingsStorageTest, RemoveWithMultipleValues) { |
253 storage_->Set(*dict123_); | 253 storage_->Set(*dict123_); |
254 { | 254 { |
255 SettingChangeList changes; | 255 SettingChangeList changes; |
256 changes.push_back(SettingChange(key3_, val3_->DeepCopy(), NULL)); | 256 changes.push_back(SettingChange(key3_, val3_->DeepCopy(), NULL)); |
257 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key3_)); | 257 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(key3_)); |
258 } | 258 } |
259 | 259 |
260 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); | 260 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); |
261 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 261 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
262 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 262 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
(...skipping 13 matching lines...) Expand all Loading... |
276 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 276 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
277 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 277 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
278 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 278 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
279 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); | 279 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list1_)); |
280 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list12_)); | 280 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list12_)); |
281 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list13_)); | 281 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list13_)); |
282 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); | 282 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); |
283 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 283 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
284 } | 284 } |
285 | 285 |
286 TEST_P(SettingsStorageTest, SetWhenOverwriting) { | 286 TEST_P(ExtensionSettingsStorageTest, SetWhenOverwriting) { |
287 storage_->Set(key1_, *val2_); | 287 storage_->Set(key1_, *val2_); |
288 { | 288 { |
289 SettingChangeList changes; | 289 SettingChangeList changes; |
290 changes.push_back( | 290 changes.push_back( |
291 SettingChange(key1_, val2_->DeepCopy(), val1_->DeepCopy())); | 291 SettingChange(key1_, val2_->DeepCopy(), val1_->DeepCopy())); |
292 changes.push_back(SettingChange(key2_, NULL, val2_->DeepCopy())); | 292 changes.push_back(SettingChange(key2_, NULL, val2_->DeepCopy())); |
293 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(*dict12_)); | 293 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(*dict12_)); |
294 } | 294 } |
295 | 295 |
296 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); | 296 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(key1_)); |
297 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); | 297 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key3_)); |
298 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 298 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
299 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list1_)); | 299 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list1_)); |
300 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list12_)); | 300 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list12_)); |
301 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list13_)); | 301 EXPECT_PRED_FORMAT2(SettingsEq, *dict1_, storage_->Get(list13_)); |
302 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); | 302 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get(list123_)); |
303 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); | 303 EXPECT_PRED_FORMAT2(SettingsEq, *dict12_, storage_->Get()); |
304 } | 304 } |
305 | 305 |
306 TEST_P(SettingsStorageTest, ClearWhenEmpty) { | 306 TEST_P(ExtensionSettingsStorageTest, ClearWhenEmpty) { |
307 EXPECT_PRED_FORMAT2(ChangesEq, | 307 EXPECT_PRED_FORMAT2(ChangesEq, |
308 SettingChangeList(), storage_->Clear()); | 308 SettingChangeList(), storage_->Clear()); |
309 | 309 |
310 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 310 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
311 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 311 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
312 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); | 312 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); |
313 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 313 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
314 } | 314 } |
315 | 315 |
316 TEST_P(SettingsStorageTest, ClearWhenNotEmpty) { | 316 TEST_P(ExtensionSettingsStorageTest, ClearWhenNotEmpty) { |
317 storage_->Set(*dict12_); | 317 storage_->Set(*dict12_); |
318 { | 318 { |
319 SettingChangeList changes; | 319 SettingChangeList changes; |
320 changes.push_back(SettingChange(key1_, val1_->DeepCopy(), NULL)); | 320 changes.push_back(SettingChange(key1_, val1_->DeepCopy(), NULL)); |
321 changes.push_back(SettingChange(key2_, val2_->DeepCopy(), NULL)); | 321 changes.push_back(SettingChange(key2_, val2_->DeepCopy(), NULL)); |
322 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); | 322 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); |
323 } | 323 } |
324 | 324 |
325 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); | 325 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(key1_)); |
326 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); | 326 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(empty_list_)); |
327 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); | 327 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(list123_)); |
328 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 328 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
329 } | 329 } |
330 | 330 |
331 // Dots should be allowed in key names; they shouldn't be interpreted as | 331 // Dots should be allowed in key names; they shouldn't be interpreted as |
332 // indexing into a dictionary. | 332 // indexing into a dictionary. |
333 TEST_P(SettingsStorageTest, DotsInKeyNames) { | 333 TEST_P(ExtensionSettingsStorageTest, DotsInKeyNames) { |
334 std::string dot_key("foo.bar"); | 334 std::string dot_key("foo.bar"); |
335 StringValue dot_value("baz.qux"); | 335 StringValue dot_value("baz.qux"); |
336 std::vector<std::string> dot_list; | 336 std::vector<std::string> dot_list; |
337 dot_list.push_back(dot_key); | 337 dot_list.push_back(dot_key); |
338 DictionaryValue dot_dict; | 338 DictionaryValue dot_dict; |
339 dot_dict.SetWithoutPathExpansion(dot_key, dot_value.DeepCopy()); | 339 dot_dict.SetWithoutPathExpansion(dot_key, dot_value.DeepCopy()); |
340 | 340 |
341 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(dot_key)); | 341 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(dot_key)); |
342 | 342 |
343 { | 343 { |
(...skipping 29 matching lines...) Expand all Loading... |
373 SettingChangeList changes; | 373 SettingChangeList changes; |
374 changes.push_back( | 374 changes.push_back( |
375 SettingChange(dot_key, dot_value.DeepCopy(), NULL)); | 375 SettingChange(dot_key, dot_value.DeepCopy(), NULL)); |
376 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(dot_list)); | 376 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Remove(dot_list)); |
377 } | 377 } |
378 | 378 |
379 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(dot_key)); | 379 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get(dot_key)); |
380 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); | 380 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get()); |
381 } | 381 } |
382 | 382 |
383 TEST_P(SettingsStorageTest, DotsInKeyNamesWithDicts) { | 383 TEST_P(ExtensionSettingsStorageTest, DotsInKeyNamesWithDicts) { |
384 DictionaryValue outer_dict; | 384 DictionaryValue outer_dict; |
385 DictionaryValue* inner_dict = new DictionaryValue(); | 385 DictionaryValue* inner_dict = new DictionaryValue(); |
386 outer_dict.Set("foo", inner_dict); | 386 outer_dict.Set("foo", inner_dict); |
387 inner_dict->SetString("bar", "baz"); | 387 inner_dict->SetString("bar", "baz"); |
388 | 388 |
389 { | 389 { |
390 SettingChangeList changes; | 390 SettingChangeList changes; |
391 changes.push_back( | 391 changes.push_back( |
392 SettingChange("foo", NULL, inner_dict->DeepCopy())); | 392 SettingChange("foo", NULL, inner_dict->DeepCopy())); |
393 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(outer_dict)); | 393 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Set(outer_dict)); |
394 } | 394 } |
395 | 395 |
396 EXPECT_PRED_FORMAT2(SettingsEq, outer_dict, storage_->Get("foo")); | 396 EXPECT_PRED_FORMAT2(SettingsEq, outer_dict, storage_->Get("foo")); |
397 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get("foo.bar")); | 397 EXPECT_PRED_FORMAT2(SettingsEq, *empty_dict_, storage_->Get("foo.bar")); |
398 } | 398 } |
399 | 399 |
400 TEST_P(SettingsStorageTest, ComplexChangedKeysScenarios) { | 400 TEST_P(ExtensionSettingsStorageTest, ComplexChangedKeysScenarios) { |
401 // Test: | 401 // Test: |
402 // - Setting over missing/changed/same keys, combinations. | 402 // - Setting over missing/changed/same keys, combinations. |
403 // - Removing over missing and present keys, combinations. | 403 // - Removing over missing and present keys, combinations. |
404 // - Clearing. | 404 // - Clearing. |
405 std::vector<std::string> complex_list; | 405 std::vector<std::string> complex_list; |
406 DictionaryValue complex_changed_dict; | 406 DictionaryValue complex_changed_dict; |
407 | 407 |
408 storage_->Set(key1_, *val1_); | 408 storage_->Set(key1_, *val1_); |
409 EXPECT_PRED_FORMAT2(ChangesEq, | 409 EXPECT_PRED_FORMAT2(ChangesEq, |
410 SettingChangeList(), storage_->Set(key1_, *val1_)); | 410 SettingChangeList(), storage_->Set(key1_, *val1_)); |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 changes.push_back(SettingChange(key3_, val3_->DeepCopy(), NULL)); | 482 changes.push_back(SettingChange(key3_, val3_->DeepCopy(), NULL)); |
483 changes.push_back( | 483 changes.push_back( |
484 SettingChange("qwerty", val3_->DeepCopy(), NULL)); | 484 SettingChange("qwerty", val3_->DeepCopy(), NULL)); |
485 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); | 485 EXPECT_PRED_FORMAT2(ChangesEq, changes, storage_->Clear()); |
486 EXPECT_PRED_FORMAT2(ChangesEq, | 486 EXPECT_PRED_FORMAT2(ChangesEq, |
487 SettingChangeList(), storage_->Clear()); | 487 SettingChangeList(), storage_->Clear()); |
488 } | 488 } |
489 } | 489 } |
490 | 490 |
491 } // namespace extensions | 491 } // namespace extensions |
OLD | NEW |