| Index: base/values_unittest.cc
|
| diff --git a/base/values_unittest.cc b/base/values_unittest.cc
|
| index 733c485d2b1aca599dcb917edf179728bef6bbc9..70acdfd6966aaf124b59e3b0b94640674bc0f489 100644
|
| --- a/base/values_unittest.cc
|
| +++ b/base/values_unittest.cc
|
| @@ -323,6 +323,31 @@ TEST(ValuesTest, DictionaryWithoutPathExpansion) {
|
| EXPECT_EQ(Value::TYPE_NULL, value4->GetType());
|
| }
|
|
|
| +TEST(ValuesTest, DictionaryRemovePath) {
|
| + DictionaryValue dict;
|
| + dict.Set("a.long.way.down", Value::CreateIntegerValue(1));
|
| + dict.Set("a.long.key.path", Value::CreateBooleanValue(true));
|
| +
|
| + scoped_ptr<Value> removed_item;
|
| + EXPECT_TRUE(dict.RemovePath("a.long.way.down", &removed_item));
|
| + ASSERT_TRUE(removed_item);
|
| + EXPECT_TRUE(removed_item->IsType(base::Value::TYPE_INTEGER));
|
| + EXPECT_FALSE(dict.HasKey("a.long.way.down"));
|
| + EXPECT_FALSE(dict.HasKey("a.long.way"));
|
| + EXPECT_TRUE(dict.Get("a.long.key.path", NULL));
|
| +
|
| + removed_item.reset();
|
| + EXPECT_FALSE(dict.RemovePath("a.long.way.down", &removed_item));
|
| + EXPECT_FALSE(removed_item);
|
| + EXPECT_TRUE(dict.Get("a.long.key.path", NULL));
|
| +
|
| + removed_item.reset();
|
| + EXPECT_TRUE(dict.RemovePath("a.long.key.path", &removed_item));
|
| + ASSERT_TRUE(removed_item);
|
| + EXPECT_TRUE(removed_item->IsType(base::Value::TYPE_BOOLEAN));
|
| + EXPECT_TRUE(dict.empty());
|
| +}
|
| +
|
| TEST(ValuesTest, DeepCopy) {
|
| DictionaryValue original_dict;
|
| Value* original_null = Value::CreateNullValue();
|
|
|