summaryrefslogtreecommitdiffstats
path: root/base/prefs
diff options
context:
space:
mode:
authordgrogan@chromium.org <dgrogan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-30 09:22:27 +0000
committerdgrogan@chromium.org <dgrogan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-30 09:22:27 +0000
commiteeedaa6980f8153c09841240313ed7ee088a2cc8 (patch)
tree4bb04cbdd053dec1d82574152ed9938a322f8b94 /base/prefs
parent84a21ae8d3e5d09ca46977296df30a89defe117d (diff)
downloadchromium_src-eeedaa6980f8153c09841240313ed7ee088a2cc8.zip
chromium_src-eeedaa6980f8153c09841240313ed7ee088a2cc8.tar.gz
chromium_src-eeedaa6980f8153c09841240313ed7ee088a2cc8.tar.bz2
Add a unit test for JsonPrefStore::Remove.
Review URL: https://codereview.chromium.org/144633002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247915 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/prefs')
-rw-r--r--base/prefs/json_pref_store_unittest.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/base/prefs/json_pref_store_unittest.cc b/base/prefs/json_pref_store_unittest.cc
index 119a29c..f4e1e51 100644
--- a/base/prefs/json_pref_store_unittest.cc
+++ b/base/prefs/json_pref_store_unittest.cc
@@ -257,6 +257,27 @@ TEST_F(JsonPrefStoreTest, PreserveEmptyValues) {
EXPECT_TRUE(DictionaryValue().Equals(result));
}
+// This test is just documenting some potentially non-obvious behavior. It
+// shouldn't be taken as normative.
+TEST_F(JsonPrefStoreTest, RemoveClearsEmptyParent) {
+ FilePath pref_file = temp_dir_.path().AppendASCII("empty_values.json");
+
+ scoped_refptr<JsonPrefStore> pref_store = new JsonPrefStore(
+ pref_file,
+ message_loop_.message_loop_proxy(),
+ scoped_ptr<PrefFilter>());
+
+ base::DictionaryValue* dict = new base::DictionaryValue;
+ dict->SetString("key", "value");
+ pref_store->SetValue("dict", dict);
+
+ pref_store->RemoveValue("dict.key");
+
+ const base::Value* retrieved_dict = NULL;
+ bool has_dict = pref_store->GetValue("dict", &retrieved_dict);
+ EXPECT_FALSE(has_dict);
+}
+
// Tests asynchronous reading of the file when there is no file.
TEST_F(JsonPrefStoreTest, AsyncNonExistingFile) {
base::FilePath bogus_input_file = data_dir_.AppendASCII("read.txt");