| Index: base/values_unittest.cc
|
| diff --git a/base/values_unittest.cc b/base/values_unittest.cc
|
| index 67515ece3be87a1d3093206981996b507e8a2d6b..1a7808945c87e60eb35ba226b61961080dfd7303 100644
|
| --- a/base/values_unittest.cc
|
| +++ b/base/values_unittest.cc
|
| @@ -93,6 +93,30 @@ TEST(ValuesTest, BinaryValue) {
|
| delete binary;
|
| }
|
|
|
| +TEST(ValuesTest, StringValue) {
|
| + // Test overloaded CreateStringValue.
|
| + Value* narrow_value = Value::CreateStringValue("narrow");
|
| + ASSERT_TRUE(narrow_value);
|
| + ASSERT_TRUE(narrow_value->IsType(Value::TYPE_STRING));
|
| + Value* wide_value = Value::CreateStringValue(L"wide");
|
| + ASSERT_TRUE(wide_value);
|
| + ASSERT_TRUE(wide_value->IsType(Value::TYPE_STRING));
|
| +
|
| + // Test overloaded GetString.
|
| + std::string narrow = "http://google.com";
|
| + std::wstring wide = L"http://google.com";
|
| + ASSERT_TRUE(narrow_value->GetAsString(&narrow));
|
| + ASSERT_TRUE(narrow_value->GetAsString(&wide));
|
| + ASSERT_EQ(std::string("narrow"), narrow);
|
| + ASSERT_EQ(std::wstring(L"narrow"), wide);
|
| + ASSERT_TRUE(wide_value->GetAsString(&narrow));
|
| + ASSERT_TRUE(wide_value->GetAsString(&wide));
|
| + ASSERT_EQ(std::string("wide"), narrow);
|
| + ASSERT_EQ(std::wstring(L"wide"), wide);
|
| + delete narrow_value;
|
| + delete wide_value;
|
| +}
|
| +
|
| // This is a Value object that allows us to tell if it's been
|
| // properly deleted by modifying the value of external flag on destruction.
|
| class DeletionTestValue : public Value {
|
| @@ -242,8 +266,10 @@ TEST(ValuesTest, DeepCopy) {
|
| original_dict.Set(L"int", original_int);
|
| Value* original_real = Value::CreateRealValue(3.14);
|
| original_dict.Set(L"real", original_real);
|
| - Value* original_string = Value::CreateStringValue(L"peek-a-boo");
|
| + Value* original_string = Value::CreateStringValue("hello");
|
| original_dict.Set(L"string", original_string);
|
| + Value* original_wstring = Value::CreateStringValue(L"peek-a-boo");
|
| + original_dict.Set(L"wstring", original_wstring);
|
|
|
| char* original_buffer = new char[42];
|
| memset(original_buffer, '!', 42);
|
| @@ -300,9 +326,22 @@ TEST(ValuesTest, DeepCopy) {
|
| ASSERT_TRUE(copy_string);
|
| ASSERT_NE(copy_string, original_string);
|
| ASSERT_TRUE(copy_string->IsType(Value::TYPE_STRING));
|
| - std::wstring copy_string_value;
|
| + std::string copy_string_value;
|
| + std::wstring copy_wstring_value;
|
| ASSERT_TRUE(copy_string->GetAsString(©_string_value));
|
| - ASSERT_EQ(std::wstring(L"peek-a-boo"), copy_string_value);
|
| + ASSERT_TRUE(copy_string->GetAsString(©_wstring_value));
|
| + ASSERT_EQ(std::string("hello"), copy_string_value);
|
| + ASSERT_EQ(std::wstring(L"hello"), copy_wstring_value);
|
| +
|
| + Value* copy_wstring = NULL;
|
| + ASSERT_TRUE(copy_dict->Get(L"wstring", ©_wstring));
|
| + ASSERT_TRUE(copy_wstring);
|
| + ASSERT_NE(copy_wstring, original_wstring);
|
| + ASSERT_TRUE(copy_wstring->IsType(Value::TYPE_STRING));
|
| + ASSERT_TRUE(copy_wstring->GetAsString(©_string_value));
|
| + ASSERT_TRUE(copy_wstring->GetAsString(©_wstring_value));
|
| + ASSERT_EQ(std::string("peek-a-boo"), copy_string_value);
|
| + ASSERT_EQ(std::wstring(L"peek-a-boo"), copy_wstring_value);
|
|
|
| Value* copy_binary = NULL;
|
| ASSERT_TRUE(copy_dict->Get(L"binary", ©_binary));
|
| @@ -360,7 +399,8 @@ TEST(ValuesTest, Equals) {
|
| dv.SetBoolean(L"a", false);
|
| dv.SetInteger(L"b", 2);
|
| dv.SetReal(L"c", 2.5);
|
| - dv.SetString(L"d", L"string");
|
| + dv.SetString(L"d1", "string");
|
| + dv.SetString(L"d2", L"string");
|
| dv.Set(L"e", Value::CreateNullValue());
|
|
|
| DictionaryValue* copy = static_cast<DictionaryValue*>(dv.DeepCopy());
|
|
|