Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(345)

Side by Side Diff: base/values_unittest.cc

Issue 3023037: Remove Value/StringValue's ...UTF16() methods in favour of overloading. (Closed)
Patch Set: I'm an idiot. Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/values.cc ('k') | chrome/browser/configuration_policy_pref_store.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
537 double copy_real_value = 0; 560 double copy_real_value = 0;
538 ASSERT_TRUE(copy_real->GetAsReal(&copy_real_value)); 561 ASSERT_TRUE(copy_real->GetAsReal(&copy_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", &copy_string)); 565 ASSERT_TRUE(copy_dict->Get("string", &copy_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(&copy_string_value)); 571 ASSERT_TRUE(copy_string->GetAsString(&copy_string_value));
550 ASSERT_TRUE(copy_string->GetAsString(&copy_wstring_value)); 572 ASSERT_TRUE(copy_string->GetAsString(&copy_string16_value));
551 ASSERT_TRUE(copy_string->GetAsUTF16(&copy_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", &copy_wstring)); 577 ASSERT_TRUE(copy_dict->Get("string16", &copy_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(&copy_string_value)); 581 ASSERT_TRUE(copy_string16->GetAsString(&copy_string_value));
562 ASSERT_TRUE(copy_wstring->GetAsString(&copy_wstring_value)); 582 ASSERT_TRUE(copy_string16->GetAsString(&copy_string16_value));
563 ASSERT_TRUE(copy_wstring->GetAsUTF16(&copy_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", &copy_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(&copy_string_value));
574 ASSERT_TRUE(copy_utf16->GetAsString(&copy_wstring_value));
575 ASSERT_TRUE(copy_utf16->GetAsUTF16(&copy_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", &copy_binary)); 587 ASSERT_TRUE(copy_dict->Get("binary", &copy_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
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
687 Value* copy_string = NULL; 692 Value* copy_string = NULL;
688 ASSERT_TRUE(copy_dict->Get(L"string", &copy_string)); 693 ASSERT_TRUE(copy_dict->Get(L"string", &copy_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(&copy_string_value)); 700 ASSERT_TRUE(copy_string->GetAsString(&copy_string_value));
696 ASSERT_TRUE(copy_string->GetAsString(&copy_wstring_value)); 701 ASSERT_TRUE(copy_string->GetAsString(&copy_wstring_value));
697 ASSERT_TRUE(copy_string->GetAsUTF16(&copy_utf16_value)); 702 ASSERT_TRUE(copy_string->GetAsString(&copy_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", &copy_wstring)); 708 ASSERT_TRUE(copy_dict->Get(L"wstring", &copy_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(&copy_string_value)); 712 ASSERT_TRUE(copy_wstring->GetAsString(&copy_string_value));
708 ASSERT_TRUE(copy_wstring->GetAsString(&copy_wstring_value)); 713 ASSERT_TRUE(copy_wstring->GetAsString(&copy_wstring_value));
709 ASSERT_TRUE(copy_wstring->GetAsUTF16(&copy_utf16_value)); 714 ASSERT_TRUE(copy_wstring->GetAsString(&copy_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", &copy_utf16)); 720 ASSERT_TRUE(copy_dict->Get(L"utf16", &copy_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(&copy_string_value)); 724 ASSERT_TRUE(copy_utf16->GetAsString(&copy_string_value));
720 ASSERT_TRUE(copy_utf16->GetAsString(&copy_wstring_value)); 725 ASSERT_TRUE(copy_utf16->GetAsString(&copy_wstring_value));
721 ASSERT_TRUE(copy_utf16->GetAsUTF16(&copy_utf16_value)); 726 ASSERT_TRUE(copy_utf16->GetAsString(&copy_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", &copy_binary)); 732 ASSERT_TRUE(copy_dict->Get(L"binary", &copy_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
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 }
OLDNEW
« no previous file with comments | « base/values.cc ('k') | chrome/browser/configuration_policy_pref_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698