OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <limits> | 5 #include <limits> |
6 | 6 |
7 #include "base/scoped_ptr.h" | 7 #include "base/scoped_ptr.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "base/string16.h" | 9 #include "base/string16.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
12 | 12 |
13 class ValuesTest: public testing::Test { | 13 class ValuesTest: public testing::Test { |
14 }; | 14 }; |
15 | 15 |
16 // TODO(viettrungluu): I changed the keys for DictionaryValue from std::wstring | 16 // TODO(viettrungluu): I changed the keys for DictionaryValue from std::wstring |
17 // to std::string. I've temporarily kept the old methods taking std::wstring for | 17 // to std::string. I've temporarily kept the old methods taking std::wstring for |
18 // compatibility. The ...Deprecated tests are the old tests which use these | 18 // compatibility. The ...Deprecated tests are the old tests which use these |
19 // methods, and remain to test compatibility. They will be removed once the old | 19 // methods, and remain to test compatibility. They will be removed once the old |
20 // methods are removed. | 20 // methods are removed. There are also parts of tests marked DEPRECATED which |
| 21 // are to be deleted. |
21 | 22 |
22 TEST(ValuesTest, Basic) { | 23 TEST(ValuesTest, Basic) { |
23 // Test basic dictionary getting/setting | 24 // Test basic dictionary getting/setting |
24 DictionaryValue settings; | 25 DictionaryValue settings; |
25 std::string homepage = "http://google.com"; | 26 std::string homepage = "http://google.com"; |
26 ASSERT_FALSE(settings.GetString("global.homepage", &homepage)); | 27 ASSERT_FALSE(settings.GetString("global.homepage", &homepage)); |
27 ASSERT_EQ(std::string("http://google.com"), homepage); | 28 ASSERT_EQ(std::string("http://google.com"), homepage); |
28 | 29 |
29 ASSERT_FALSE(settings.Get("global", NULL)); | 30 ASSERT_FALSE(settings.Get("global", NULL)); |
30 settings.Set("global", Value::CreateBooleanValue(true)); | 31 settings.Set("global", Value::CreateBooleanValue(true)); |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 ASSERT_NE(stack_buffer, binary->GetBuffer()); | 175 ASSERT_NE(stack_buffer, binary->GetBuffer()); |
175 ASSERT_EQ(42U, binary->GetSize()); | 176 ASSERT_EQ(42U, binary->GetSize()); |
176 ASSERT_EQ(0, memcmp(stack_buffer, binary->GetBuffer(), binary->GetSize())); | 177 ASSERT_EQ(0, memcmp(stack_buffer, binary->GetBuffer(), binary->GetSize())); |
177 } | 178 } |
178 | 179 |
179 TEST(ValuesTest, StringValue) { | 180 TEST(ValuesTest, StringValue) { |
180 // Test overloaded CreateStringValue. | 181 // Test overloaded CreateStringValue. |
181 scoped_ptr<Value> narrow_value(Value::CreateStringValue("narrow")); | 182 scoped_ptr<Value> narrow_value(Value::CreateStringValue("narrow")); |
182 ASSERT_TRUE(narrow_value.get()); | 183 ASSERT_TRUE(narrow_value.get()); |
183 ASSERT_TRUE(narrow_value->IsType(Value::TYPE_STRING)); | 184 ASSERT_TRUE(narrow_value->IsType(Value::TYPE_STRING)); |
| 185 scoped_ptr<Value> utf16_value( |
| 186 Value::CreateStringValue(ASCIIToUTF16("utf16"))); |
| 187 ASSERT_TRUE(utf16_value.get()); |
| 188 ASSERT_TRUE(utf16_value->IsType(Value::TYPE_STRING)); |
| 189 |
| 190 // Test overloaded GetString. |
| 191 std::string narrow = "http://google.com"; |
| 192 string16 utf16 = ASCIIToUTF16("http://google.com"); |
| 193 ASSERT_TRUE(narrow_value->GetAsString(&narrow)); |
| 194 ASSERT_TRUE(narrow_value->GetAsString(&utf16)); |
| 195 ASSERT_EQ(std::string("narrow"), narrow); |
| 196 ASSERT_EQ(ASCIIToUTF16("narrow"), utf16); |
| 197 |
| 198 ASSERT_TRUE(utf16_value->GetAsString(&narrow)); |
| 199 ASSERT_TRUE(utf16_value->GetAsString(&utf16)); |
| 200 ASSERT_EQ(std::string("utf16"), narrow); |
| 201 ASSERT_EQ(ASCIIToUTF16("utf16"), utf16); |
| 202 } |
| 203 |
| 204 // TODO(viettrungluu): deprecate: |
| 205 TEST(ValuesTest, StringValueDeprecated) { |
| 206 // Test overloaded CreateStringValue. |
| 207 scoped_ptr<Value> narrow_value(Value::CreateStringValue("narrow")); |
| 208 ASSERT_TRUE(narrow_value.get()); |
| 209 ASSERT_TRUE(narrow_value->IsType(Value::TYPE_STRING)); |
184 scoped_ptr<Value> wide_value(Value::CreateStringValue(L"wide")); | 210 scoped_ptr<Value> wide_value(Value::CreateStringValue(L"wide")); |
185 ASSERT_TRUE(wide_value.get()); | 211 ASSERT_TRUE(wide_value.get()); |
186 ASSERT_TRUE(wide_value->IsType(Value::TYPE_STRING)); | 212 ASSERT_TRUE(wide_value->IsType(Value::TYPE_STRING)); |
187 scoped_ptr<Value> utf16_value( | 213 scoped_ptr<Value> utf16_value( |
188 Value::CreateStringValueFromUTF16(ASCIIToUTF16("utf16"))); | 214 Value::CreateStringValue(ASCIIToUTF16("utf16"))); |
189 ASSERT_TRUE(utf16_value.get()); | 215 ASSERT_TRUE(utf16_value.get()); |
190 ASSERT_TRUE(utf16_value->IsType(Value::TYPE_STRING)); | 216 ASSERT_TRUE(utf16_value->IsType(Value::TYPE_STRING)); |
191 | 217 |
192 // Test overloaded GetString. | 218 // Test overloaded GetString. |
193 std::string narrow = "http://google.com"; | 219 std::string narrow = "http://google.com"; |
194 std::wstring wide = L"http://google.com"; | 220 std::wstring wide = L"http://google.com"; |
195 string16 utf16 = ASCIIToUTF16("http://google.com"); | 221 string16 utf16 = ASCIIToUTF16("http://google.com"); |
196 ASSERT_TRUE(narrow_value->GetAsString(&narrow)); | 222 ASSERT_TRUE(narrow_value->GetAsString(&narrow)); |
197 ASSERT_TRUE(narrow_value->GetAsString(&wide)); | 223 ASSERT_TRUE(narrow_value->GetAsString(&wide)); |
198 ASSERT_TRUE(narrow_value->GetAsUTF16(&utf16)); | 224 ASSERT_TRUE(narrow_value->GetAsString(&utf16)); |
199 ASSERT_EQ(std::string("narrow"), narrow); | 225 ASSERT_EQ(std::string("narrow"), narrow); |
200 ASSERT_EQ(std::wstring(L"narrow"), wide); | 226 ASSERT_EQ(std::wstring(L"narrow"), wide); |
201 ASSERT_EQ(ASCIIToUTF16("narrow"), utf16); | 227 ASSERT_EQ(ASCIIToUTF16("narrow"), utf16); |
202 | 228 |
203 ASSERT_TRUE(wide_value->GetAsString(&narrow)); | 229 ASSERT_TRUE(wide_value->GetAsString(&narrow)); |
204 ASSERT_TRUE(wide_value->GetAsString(&wide)); | 230 ASSERT_TRUE(wide_value->GetAsString(&wide)); |
205 ASSERT_TRUE(wide_value->GetAsUTF16(&utf16)); | 231 ASSERT_TRUE(wide_value->GetAsString(&utf16)); |
206 ASSERT_EQ(std::string("wide"), narrow); | 232 ASSERT_EQ(std::string("wide"), narrow); |
207 ASSERT_EQ(std::wstring(L"wide"), wide); | 233 ASSERT_EQ(std::wstring(L"wide"), wide); |
208 ASSERT_EQ(ASCIIToUTF16("wide"), utf16); | 234 ASSERT_EQ(ASCIIToUTF16("wide"), utf16); |
209 | 235 |
210 ASSERT_TRUE(utf16_value->GetAsString(&narrow)); | 236 ASSERT_TRUE(utf16_value->GetAsString(&narrow)); |
211 ASSERT_TRUE(utf16_value->GetAsString(&wide)); | 237 ASSERT_TRUE(utf16_value->GetAsString(&wide)); |
212 ASSERT_TRUE(utf16_value->GetAsUTF16(&utf16)); | 238 ASSERT_TRUE(utf16_value->GetAsString(&utf16)); |
213 ASSERT_EQ(std::string("utf16"), narrow); | 239 ASSERT_EQ(std::string("utf16"), narrow); |
214 ASSERT_EQ(std::wstring(L"utf16"), wide); | 240 ASSERT_EQ(std::wstring(L"utf16"), wide); |
215 ASSERT_EQ(ASCIIToUTF16("utf16"), utf16); | 241 ASSERT_EQ(ASCIIToUTF16("utf16"), utf16); |
216 } | 242 } |
217 | 243 |
218 // This is a Value object that allows us to tell if it's been | 244 // This is a Value object that allows us to tell if it's been |
219 // properly deleted by modifying the value of external flag on destruction. | 245 // properly deleted by modifying the value of external flag on destruction. |
220 class DeletionTestValue : public Value { | 246 class DeletionTestValue : public Value { |
221 public: | 247 public: |
222 explicit DeletionTestValue(bool* deletion_flag) : Value(TYPE_NULL) { | 248 explicit DeletionTestValue(bool* deletion_flag) : Value(TYPE_NULL) { |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 Value* original_null = Value::CreateNullValue(); | 501 Value* original_null = Value::CreateNullValue(); |
476 original_dict.Set("null", original_null); | 502 original_dict.Set("null", original_null); |
477 Value* original_bool = Value::CreateBooleanValue(true); | 503 Value* original_bool = Value::CreateBooleanValue(true); |
478 original_dict.Set("bool", original_bool); | 504 original_dict.Set("bool", original_bool); |
479 Value* original_int = Value::CreateIntegerValue(42); | 505 Value* original_int = Value::CreateIntegerValue(42); |
480 original_dict.Set("int", original_int); | 506 original_dict.Set("int", original_int); |
481 Value* original_real = Value::CreateRealValue(3.14); | 507 Value* original_real = Value::CreateRealValue(3.14); |
482 original_dict.Set("real", original_real); | 508 original_dict.Set("real", original_real); |
483 Value* original_string = Value::CreateStringValue("hello"); | 509 Value* original_string = Value::CreateStringValue("hello"); |
484 original_dict.Set("string", original_string); | 510 original_dict.Set("string", original_string); |
485 Value* original_wstring = Value::CreateStringValue(L"peek-a-boo"); | 511 Value* original_string16 = Value::CreateStringValue(ASCIIToUTF16("hello16")); |
486 original_dict.Set("wstring", original_wstring); | 512 original_dict.Set("string16", original_string16); |
487 Value* original_utf16 = | |
488 Value::CreateStringValueFromUTF16(ASCIIToUTF16("hello16")); | |
489 original_dict.Set("utf16", original_utf16); | |
490 | 513 |
491 char* original_buffer = new char[42]; | 514 char* original_buffer = new char[42]; |
492 memset(original_buffer, '!', 42); | 515 memset(original_buffer, '!', 42); |
493 BinaryValue* original_binary = Value::CreateBinaryValue(original_buffer, 42); | 516 BinaryValue* original_binary = Value::CreateBinaryValue(original_buffer, 42); |
494 original_dict.Set("binary", original_binary); | 517 original_dict.Set("binary", original_binary); |
495 | 518 |
496 ListValue* original_list = new ListValue(); | 519 ListValue* original_list = new ListValue(); |
497 Value* original_list_element_0 = Value::CreateIntegerValue(0); | 520 Value* original_list_element_0 = Value::CreateIntegerValue(0); |
498 original_list->Append(original_list_element_0); | 521 original_list->Append(original_list_element_0); |
499 Value* original_list_element_1 = Value::CreateIntegerValue(1); | 522 Value* original_list_element_1 = Value::CreateIntegerValue(1); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 double copy_real_value = 0; | 560 double copy_real_value = 0; |
538 ASSERT_TRUE(copy_real->GetAsReal(©_real_value)); | 561 ASSERT_TRUE(copy_real->GetAsReal(©_real_value)); |
539 ASSERT_EQ(3.14, copy_real_value); | 562 ASSERT_EQ(3.14, copy_real_value); |
540 | 563 |
541 Value* copy_string = NULL; | 564 Value* copy_string = NULL; |
542 ASSERT_TRUE(copy_dict->Get("string", ©_string)); | 565 ASSERT_TRUE(copy_dict->Get("string", ©_string)); |
543 ASSERT_TRUE(copy_string); | 566 ASSERT_TRUE(copy_string); |
544 ASSERT_NE(copy_string, original_string); | 567 ASSERT_NE(copy_string, original_string); |
545 ASSERT_TRUE(copy_string->IsType(Value::TYPE_STRING)); | 568 ASSERT_TRUE(copy_string->IsType(Value::TYPE_STRING)); |
546 std::string copy_string_value; | 569 std::string copy_string_value; |
547 std::wstring copy_wstring_value; | 570 string16 copy_string16_value; |
548 string16 copy_utf16_value; | |
549 ASSERT_TRUE(copy_string->GetAsString(©_string_value)); | 571 ASSERT_TRUE(copy_string->GetAsString(©_string_value)); |
550 ASSERT_TRUE(copy_string->GetAsString(©_wstring_value)); | 572 ASSERT_TRUE(copy_string->GetAsString(©_string16_value)); |
551 ASSERT_TRUE(copy_string->GetAsUTF16(©_utf16_value)); | |
552 ASSERT_EQ(std::string("hello"), copy_string_value); | 573 ASSERT_EQ(std::string("hello"), copy_string_value); |
553 ASSERT_EQ(std::wstring(L"hello"), copy_wstring_value); | 574 ASSERT_EQ(ASCIIToUTF16("hello"), copy_string16_value); |
554 ASSERT_EQ(ASCIIToUTF16("hello"), copy_utf16_value); | |
555 | 575 |
556 Value* copy_wstring = NULL; | 576 Value* copy_string16 = NULL; |
557 ASSERT_TRUE(copy_dict->Get("wstring", ©_wstring)); | 577 ASSERT_TRUE(copy_dict->Get("string16", ©_string16)); |
558 ASSERT_TRUE(copy_wstring); | 578 ASSERT_TRUE(copy_string16); |
559 ASSERT_NE(copy_wstring, original_wstring); | 579 ASSERT_NE(copy_string16, original_string16); |
560 ASSERT_TRUE(copy_wstring->IsType(Value::TYPE_STRING)); | 580 ASSERT_TRUE(copy_string16->IsType(Value::TYPE_STRING)); |
561 ASSERT_TRUE(copy_wstring->GetAsString(©_string_value)); | 581 ASSERT_TRUE(copy_string16->GetAsString(©_string_value)); |
562 ASSERT_TRUE(copy_wstring->GetAsString(©_wstring_value)); | 582 ASSERT_TRUE(copy_string16->GetAsString(©_string16_value)); |
563 ASSERT_TRUE(copy_wstring->GetAsUTF16(©_utf16_value)); | |
564 ASSERT_EQ(std::string("peek-a-boo"), copy_string_value); | |
565 ASSERT_EQ(std::wstring(L"peek-a-boo"), copy_wstring_value); | |
566 ASSERT_EQ(ASCIIToUTF16("peek-a-boo"), copy_utf16_value); | |
567 | |
568 Value* copy_utf16 = NULL; | |
569 ASSERT_TRUE(copy_dict->Get("utf16", ©_utf16)); | |
570 ASSERT_TRUE(copy_utf16); | |
571 ASSERT_NE(copy_utf16, original_utf16); | |
572 ASSERT_TRUE(copy_utf16->IsType(Value::TYPE_STRING)); | |
573 ASSERT_TRUE(copy_utf16->GetAsString(©_string_value)); | |
574 ASSERT_TRUE(copy_utf16->GetAsString(©_wstring_value)); | |
575 ASSERT_TRUE(copy_utf16->GetAsUTF16(©_utf16_value)); | |
576 ASSERT_EQ(std::string("hello16"), copy_string_value); | 583 ASSERT_EQ(std::string("hello16"), copy_string_value); |
577 ASSERT_EQ(std::wstring(L"hello16"), copy_wstring_value); | 584 ASSERT_EQ(ASCIIToUTF16("hello16"), copy_string16_value); |
578 ASSERT_EQ(ASCIIToUTF16("hello16"), copy_utf16_value); | |
579 | 585 |
580 Value* copy_binary = NULL; | 586 Value* copy_binary = NULL; |
581 ASSERT_TRUE(copy_dict->Get("binary", ©_binary)); | 587 ASSERT_TRUE(copy_dict->Get("binary", ©_binary)); |
582 ASSERT_TRUE(copy_binary); | 588 ASSERT_TRUE(copy_binary); |
583 ASSERT_NE(copy_binary, original_binary); | 589 ASSERT_NE(copy_binary, original_binary); |
584 ASSERT_TRUE(copy_binary->IsType(Value::TYPE_BINARY)); | 590 ASSERT_TRUE(copy_binary->IsType(Value::TYPE_BINARY)); |
585 ASSERT_NE(original_binary->GetBuffer(), | 591 ASSERT_NE(original_binary->GetBuffer(), |
586 static_cast<BinaryValue*>(copy_binary)->GetBuffer()); | 592 static_cast<BinaryValue*>(copy_binary)->GetBuffer()); |
587 ASSERT_EQ(original_binary->GetSize(), | 593 ASSERT_EQ(original_binary->GetSize(), |
588 static_cast<BinaryValue*>(copy_binary)->GetSize()); | 594 static_cast<BinaryValue*>(copy_binary)->GetSize()); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 Value* original_bool = Value::CreateBooleanValue(true); | 629 Value* original_bool = Value::CreateBooleanValue(true); |
624 original_dict.Set(L"bool", original_bool); | 630 original_dict.Set(L"bool", original_bool); |
625 Value* original_int = Value::CreateIntegerValue(42); | 631 Value* original_int = Value::CreateIntegerValue(42); |
626 original_dict.Set(L"int", original_int); | 632 original_dict.Set(L"int", original_int); |
627 Value* original_real = Value::CreateRealValue(3.14); | 633 Value* original_real = Value::CreateRealValue(3.14); |
628 original_dict.Set(L"real", original_real); | 634 original_dict.Set(L"real", original_real); |
629 Value* original_string = Value::CreateStringValue("hello"); | 635 Value* original_string = Value::CreateStringValue("hello"); |
630 original_dict.Set(L"string", original_string); | 636 original_dict.Set(L"string", original_string); |
631 Value* original_wstring = Value::CreateStringValue(L"peek-a-boo"); | 637 Value* original_wstring = Value::CreateStringValue(L"peek-a-boo"); |
632 original_dict.Set(L"wstring", original_wstring); | 638 original_dict.Set(L"wstring", original_wstring); |
633 Value* original_utf16 = | 639 Value* original_utf16 = Value::CreateStringValue(ASCIIToUTF16("hello16")); |
634 Value::CreateStringValueFromUTF16(ASCIIToUTF16("hello16")); | |
635 original_dict.Set(L"utf16", original_utf16); | 640 original_dict.Set(L"utf16", original_utf16); |
636 | 641 |
637 char* original_buffer = new char[42]; | 642 char* original_buffer = new char[42]; |
638 memset(original_buffer, '!', 42); | 643 memset(original_buffer, '!', 42); |
639 BinaryValue* original_binary = Value::CreateBinaryValue(original_buffer, 42); | 644 BinaryValue* original_binary = Value::CreateBinaryValue(original_buffer, 42); |
640 original_dict.Set(L"binary", original_binary); | 645 original_dict.Set(L"binary", original_binary); |
641 | 646 |
642 ListValue* original_list = new ListValue(); | 647 ListValue* original_list = new ListValue(); |
643 Value* original_list_element_0 = Value::CreateIntegerValue(0); | 648 Value* original_list_element_0 = Value::CreateIntegerValue(0); |
644 original_list->Append(original_list_element_0); | 649 original_list->Append(original_list_element_0); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
687 Value* copy_string = NULL; | 692 Value* copy_string = NULL; |
688 ASSERT_TRUE(copy_dict->Get(L"string", ©_string)); | 693 ASSERT_TRUE(copy_dict->Get(L"string", ©_string)); |
689 ASSERT_TRUE(copy_string); | 694 ASSERT_TRUE(copy_string); |
690 ASSERT_NE(copy_string, original_string); | 695 ASSERT_NE(copy_string, original_string); |
691 ASSERT_TRUE(copy_string->IsType(Value::TYPE_STRING)); | 696 ASSERT_TRUE(copy_string->IsType(Value::TYPE_STRING)); |
692 std::string copy_string_value; | 697 std::string copy_string_value; |
693 std::wstring copy_wstring_value; | 698 std::wstring copy_wstring_value; |
694 string16 copy_utf16_value; | 699 string16 copy_utf16_value; |
695 ASSERT_TRUE(copy_string->GetAsString(©_string_value)); | 700 ASSERT_TRUE(copy_string->GetAsString(©_string_value)); |
696 ASSERT_TRUE(copy_string->GetAsString(©_wstring_value)); | 701 ASSERT_TRUE(copy_string->GetAsString(©_wstring_value)); |
697 ASSERT_TRUE(copy_string->GetAsUTF16(©_utf16_value)); | 702 ASSERT_TRUE(copy_string->GetAsString(©_utf16_value)); |
698 ASSERT_EQ(std::string("hello"), copy_string_value); | 703 ASSERT_EQ(std::string("hello"), copy_string_value); |
699 ASSERT_EQ(std::wstring(L"hello"), copy_wstring_value); | 704 ASSERT_EQ(std::wstring(L"hello"), copy_wstring_value); |
700 ASSERT_EQ(ASCIIToUTF16("hello"), copy_utf16_value); | 705 ASSERT_EQ(ASCIIToUTF16("hello"), copy_utf16_value); |
701 | 706 |
702 Value* copy_wstring = NULL; | 707 Value* copy_wstring = NULL; |
703 ASSERT_TRUE(copy_dict->Get(L"wstring", ©_wstring)); | 708 ASSERT_TRUE(copy_dict->Get(L"wstring", ©_wstring)); |
704 ASSERT_TRUE(copy_wstring); | 709 ASSERT_TRUE(copy_wstring); |
705 ASSERT_NE(copy_wstring, original_wstring); | 710 ASSERT_NE(copy_wstring, original_wstring); |
706 ASSERT_TRUE(copy_wstring->IsType(Value::TYPE_STRING)); | 711 ASSERT_TRUE(copy_wstring->IsType(Value::TYPE_STRING)); |
707 ASSERT_TRUE(copy_wstring->GetAsString(©_string_value)); | 712 ASSERT_TRUE(copy_wstring->GetAsString(©_string_value)); |
708 ASSERT_TRUE(copy_wstring->GetAsString(©_wstring_value)); | 713 ASSERT_TRUE(copy_wstring->GetAsString(©_wstring_value)); |
709 ASSERT_TRUE(copy_wstring->GetAsUTF16(©_utf16_value)); | 714 ASSERT_TRUE(copy_wstring->GetAsString(©_utf16_value)); |
710 ASSERT_EQ(std::string("peek-a-boo"), copy_string_value); | 715 ASSERT_EQ(std::string("peek-a-boo"), copy_string_value); |
711 ASSERT_EQ(std::wstring(L"peek-a-boo"), copy_wstring_value); | 716 ASSERT_EQ(std::wstring(L"peek-a-boo"), copy_wstring_value); |
712 ASSERT_EQ(ASCIIToUTF16("peek-a-boo"), copy_utf16_value); | 717 ASSERT_EQ(ASCIIToUTF16("peek-a-boo"), copy_utf16_value); |
713 | 718 |
714 Value* copy_utf16 = NULL; | 719 Value* copy_utf16 = NULL; |
715 ASSERT_TRUE(copy_dict->Get(L"utf16", ©_utf16)); | 720 ASSERT_TRUE(copy_dict->Get(L"utf16", ©_utf16)); |
716 ASSERT_TRUE(copy_utf16); | 721 ASSERT_TRUE(copy_utf16); |
717 ASSERT_NE(copy_utf16, original_utf16); | 722 ASSERT_NE(copy_utf16, original_utf16); |
718 ASSERT_TRUE(copy_utf16->IsType(Value::TYPE_STRING)); | 723 ASSERT_TRUE(copy_utf16->IsType(Value::TYPE_STRING)); |
719 ASSERT_TRUE(copy_utf16->GetAsString(©_string_value)); | 724 ASSERT_TRUE(copy_utf16->GetAsString(©_string_value)); |
720 ASSERT_TRUE(copy_utf16->GetAsString(©_wstring_value)); | 725 ASSERT_TRUE(copy_utf16->GetAsString(©_wstring_value)); |
721 ASSERT_TRUE(copy_utf16->GetAsUTF16(©_utf16_value)); | 726 ASSERT_TRUE(copy_utf16->GetAsString(©_utf16_value)); |
722 ASSERT_EQ(std::string("hello16"), copy_string_value); | 727 ASSERT_EQ(std::string("hello16"), copy_string_value); |
723 ASSERT_EQ(std::wstring(L"hello16"), copy_wstring_value); | 728 ASSERT_EQ(std::wstring(L"hello16"), copy_wstring_value); |
724 ASSERT_EQ(ASCIIToUTF16("hello16"), copy_utf16_value); | 729 ASSERT_EQ(ASCIIToUTF16("hello16"), copy_utf16_value); |
725 | 730 |
726 Value* copy_binary = NULL; | 731 Value* copy_binary = NULL; |
727 ASSERT_TRUE(copy_dict->Get(L"binary", ©_binary)); | 732 ASSERT_TRUE(copy_dict->Get(L"binary", ©_binary)); |
728 ASSERT_TRUE(copy_binary); | 733 ASSERT_TRUE(copy_binary); |
729 ASSERT_NE(copy_binary, original_binary); | 734 ASSERT_NE(copy_binary, original_binary); |
730 ASSERT_TRUE(copy_binary->IsType(Value::TYPE_BINARY)); | 735 ASSERT_TRUE(copy_binary->IsType(Value::TYPE_BINARY)); |
731 ASSERT_NE(original_binary->GetBuffer(), | 736 ASSERT_NE(original_binary->GetBuffer(), |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1070 EXPECT_TRUE(res_sub_dict->GetString(L"sub_base_key", &sub_base_key_value)); | 1075 EXPECT_TRUE(res_sub_dict->GetString(L"sub_base_key", &sub_base_key_value)); |
1071 EXPECT_EQ("sub_base_key_value_base", sub_base_key_value); // Preserved. | 1076 EXPECT_EQ("sub_base_key_value_base", sub_base_key_value); // Preserved. |
1072 std::string sub_collide_key_value; | 1077 std::string sub_collide_key_value; |
1073 EXPECT_TRUE(res_sub_dict->GetString(L"sub_collide_key", | 1078 EXPECT_TRUE(res_sub_dict->GetString(L"sub_collide_key", |
1074 &sub_collide_key_value)); | 1079 &sub_collide_key_value)); |
1075 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. | 1080 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. |
1076 std::string sub_merge_key_value; | 1081 std::string sub_merge_key_value; |
1077 EXPECT_TRUE(res_sub_dict->GetString(L"sub_merge_key", &sub_merge_key_value)); | 1082 EXPECT_TRUE(res_sub_dict->GetString(L"sub_merge_key", &sub_merge_key_value)); |
1078 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. | 1083 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. |
1079 } | 1084 } |
OLD | NEW |