| Index: base/values_unittest.cc
|
| diff --git a/base/values_unittest.cc b/base/values_unittest.cc
|
| index da4d267cfccabbeb4723a0a847837e4182c4b007..125c81439f22e30a18c33169837622c0da01e48d 100644
|
| --- a/base/values_unittest.cc
|
| +++ b/base/values_unittest.cc
|
| @@ -574,6 +574,113 @@ TEST(ValuesTest, DictionaryDeletion) {
|
| EXPECT_TRUE(dict.empty());
|
| }
|
|
|
| +TEST(ValuesTest, DictionarySetReturnsPointer) {
|
| + {
|
| + DictionaryValue dict;
|
| + Value* blank_ptr = dict.Set("foo.bar", base::MakeUnique<base::Value>());
|
| + EXPECT_EQ(Value::Type::NONE, blank_ptr->type());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* blank_ptr = dict.SetWithoutPathExpansion(
|
| + "foo.bar", base::MakeUnique<base::Value>());
|
| + EXPECT_EQ(Value::Type::NONE, blank_ptr->type());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* bool_ptr = dict.SetBooleanWithoutPathExpansion("foo.bar", false);
|
| + EXPECT_EQ(Value::Type::BOOLEAN, bool_ptr->type());
|
| + EXPECT_FALSE(bool_ptr->GetBool());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* int_ptr = dict.SetInteger("foo.bar", 42);
|
| + EXPECT_EQ(Value::Type::INTEGER, int_ptr->type());
|
| + EXPECT_EQ(42, int_ptr->GetInt());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* int_ptr = dict.SetIntegerWithoutPathExpansion("foo.bar", 123);
|
| + EXPECT_EQ(Value::Type::INTEGER, int_ptr->type());
|
| + EXPECT_EQ(123, int_ptr->GetInt());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* double_ptr = dict.SetDouble("foo.bar", 3.142);
|
| + EXPECT_EQ(Value::Type::DOUBLE, double_ptr->type());
|
| + EXPECT_EQ(3.142, double_ptr->GetDouble());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* double_ptr = dict.SetDoubleWithoutPathExpansion("foo.bar", 2.718);
|
| + EXPECT_EQ(Value::Type::DOUBLE, double_ptr->type());
|
| + EXPECT_EQ(2.718, double_ptr->GetDouble());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* string_ptr = dict.SetString("foo.bar", "foo");
|
| + EXPECT_EQ(Value::Type::STRING, string_ptr->type());
|
| + EXPECT_EQ("foo", string_ptr->GetString());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* string_ptr = dict.SetStringWithoutPathExpansion("foo.bar", "bar");
|
| + EXPECT_EQ(Value::Type::STRING, string_ptr->type());
|
| + EXPECT_EQ("bar", string_ptr->GetString());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* string16_ptr = dict.SetString("foo.bar", ASCIIToUTF16("baz"));
|
| + EXPECT_EQ(Value::Type::STRING, string16_ptr->type());
|
| + EXPECT_EQ("baz", string16_ptr->GetString());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + Value* string16_ptr =
|
| + dict.SetStringWithoutPathExpansion("foo.bar", ASCIIToUTF16("qux"));
|
| + EXPECT_EQ(Value::Type::STRING, string16_ptr->type());
|
| + EXPECT_EQ("qux", string16_ptr->GetString());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + DictionaryValue* dict_ptr = dict.SetDictionary(
|
| + "foo.bar", base::MakeUnique<base::DictionaryValue>());
|
| + EXPECT_EQ(Value::Type::DICTIONARY, dict_ptr->type());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + DictionaryValue* dict_ptr = dict.SetDictionaryWithoutPathExpansion(
|
| + "foo.bar", base::MakeUnique<base::DictionaryValue>());
|
| + EXPECT_EQ(Value::Type::DICTIONARY, dict_ptr->type());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + ListValue* list_ptr =
|
| + dict.SetList("foo.bar", base::MakeUnique<base::ListValue>());
|
| + EXPECT_EQ(Value::Type::LIST, list_ptr->type());
|
| + }
|
| +
|
| + {
|
| + DictionaryValue dict;
|
| + ListValue* list_ptr = dict.SetListWithoutPathExpansion(
|
| + "foo.bar", base::MakeUnique<base::ListValue>());
|
| + EXPECT_EQ(Value::Type::LIST, list_ptr->type());
|
| + }
|
| +}
|
| +
|
| TEST(ValuesTest, DictionaryRemoval) {
|
| std::string key = "test";
|
| std::unique_ptr<Value> removed_item;
|
|
|