OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/string16.h" | 8 #include "base/string16.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 ASSERT_TRUE(binary->GetBuffer()); | 125 ASSERT_TRUE(binary->GetBuffer()); |
126 ASSERT_NE(stack_buffer, binary->GetBuffer()); | 126 ASSERT_NE(stack_buffer, binary->GetBuffer()); |
127 ASSERT_EQ(42U, binary->GetSize()); | 127 ASSERT_EQ(42U, binary->GetSize()); |
128 ASSERT_EQ(0, memcmp(stack_buffer, binary->GetBuffer(), binary->GetSize())); | 128 ASSERT_EQ(0, memcmp(stack_buffer, binary->GetBuffer(), binary->GetSize())); |
129 } | 129 } |
130 | 130 |
131 TEST(ValuesTest, StringValue) { | 131 TEST(ValuesTest, StringValue) { |
132 // Test overloaded CreateStringValue. | 132 // Test overloaded CreateStringValue. |
133 scoped_ptr<Value> narrow_value(Value::CreateStringValue("narrow")); | 133 scoped_ptr<Value> narrow_value(Value::CreateStringValue("narrow")); |
134 ASSERT_TRUE(narrow_value.get()); | 134 ASSERT_TRUE(narrow_value.get()); |
135 ASSERT_TRUE(narrow_value->IsType(Value::TYPE_STRING)); | 135 ASSERT_TRUE(narrow_value->IsString()); |
136 scoped_ptr<Value> utf16_value( | 136 scoped_ptr<Value> utf16_value( |
137 Value::CreateStringValue(ASCIIToUTF16("utf16"))); | 137 Value::CreateStringValue(ASCIIToUTF16("utf16"))); |
138 ASSERT_TRUE(utf16_value.get()); | 138 ASSERT_TRUE(utf16_value.get()); |
139 ASSERT_TRUE(utf16_value->IsType(Value::TYPE_STRING)); | 139 ASSERT_TRUE(utf16_value->IsString()); |
140 | 140 |
141 // Test overloaded GetString. | 141 // Test overloaded GetString. |
142 std::string narrow = "http://google.com"; | 142 std::string narrow = "http://google.com"; |
143 string16 utf16 = ASCIIToUTF16("http://google.com"); | 143 string16 utf16 = ASCIIToUTF16("http://google.com"); |
144 ASSERT_TRUE(narrow_value->GetAsString(&narrow)); | 144 ASSERT_TRUE(narrow_value->GetAsString(&narrow)); |
145 ASSERT_TRUE(narrow_value->GetAsString(&utf16)); | 145 ASSERT_TRUE(narrow_value->GetAsString(&utf16)); |
146 ASSERT_EQ(std::string("narrow"), narrow); | 146 ASSERT_EQ(std::string("narrow"), narrow); |
147 ASSERT_EQ(ASCIIToUTF16("narrow"), utf16); | 147 ASSERT_EQ(ASCIIToUTF16("narrow"), utf16); |
148 | 148 |
149 ASSERT_TRUE(utf16_value->GetAsString(&narrow)); | 149 ASSERT_TRUE(utf16_value->GetAsString(&narrow)); |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 original_dict.Set("list", original_list); | 354 original_dict.Set("list", original_list); |
355 | 355 |
356 scoped_ptr<DictionaryValue> copy_dict(original_dict.DeepCopy()); | 356 scoped_ptr<DictionaryValue> copy_dict(original_dict.DeepCopy()); |
357 ASSERT_TRUE(copy_dict.get()); | 357 ASSERT_TRUE(copy_dict.get()); |
358 ASSERT_NE(copy_dict.get(), &original_dict); | 358 ASSERT_NE(copy_dict.get(), &original_dict); |
359 | 359 |
360 Value* copy_null = NULL; | 360 Value* copy_null = NULL; |
361 ASSERT_TRUE(copy_dict->Get("null", ©_null)); | 361 ASSERT_TRUE(copy_dict->Get("null", ©_null)); |
362 ASSERT_TRUE(copy_null); | 362 ASSERT_TRUE(copy_null); |
363 ASSERT_NE(copy_null, original_null); | 363 ASSERT_NE(copy_null, original_null); |
364 ASSERT_TRUE(copy_null->IsType(Value::TYPE_NULL)); | 364 ASSERT_TRUE(copy_null->IsNull()); |
365 | 365 |
366 Value* copy_bool = NULL; | 366 Value* copy_bool = NULL; |
367 ASSERT_TRUE(copy_dict->Get("bool", ©_bool)); | 367 ASSERT_TRUE(copy_dict->Get("bool", ©_bool)); |
368 ASSERT_TRUE(copy_bool); | 368 ASSERT_TRUE(copy_bool); |
369 ASSERT_NE(copy_bool, original_bool); | 369 ASSERT_NE(copy_bool, original_bool); |
370 ASSERT_TRUE(copy_bool->IsType(Value::TYPE_BOOLEAN)); | 370 ASSERT_TRUE(copy_bool->IsBoolean()); |
371 bool copy_bool_value = false; | 371 bool copy_bool_value = false; |
372 ASSERT_TRUE(copy_bool->GetAsBoolean(©_bool_value)); | 372 ASSERT_TRUE(copy_bool->GetAsBoolean(©_bool_value)); |
373 ASSERT_TRUE(copy_bool_value); | 373 ASSERT_TRUE(copy_bool_value); |
374 | 374 |
375 Value* copy_int = NULL; | 375 Value* copy_int = NULL; |
376 ASSERT_TRUE(copy_dict->Get("int", ©_int)); | 376 ASSERT_TRUE(copy_dict->Get("int", ©_int)); |
377 ASSERT_TRUE(copy_int); | 377 ASSERT_TRUE(copy_int); |
378 ASSERT_NE(copy_int, original_int); | 378 ASSERT_NE(copy_int, original_int); |
379 ASSERT_TRUE(copy_int->IsType(Value::TYPE_INTEGER)); | 379 ASSERT_TRUE(copy_int->IsInteger()); |
380 int copy_int_value = 0; | 380 int copy_int_value = 0; |
381 ASSERT_TRUE(copy_int->GetAsInteger(©_int_value)); | 381 ASSERT_TRUE(copy_int->GetAsInteger(©_int_value)); |
382 ASSERT_EQ(42, copy_int_value); | 382 ASSERT_EQ(42, copy_int_value); |
383 | 383 |
384 Value* copy_double = NULL; | 384 Value* copy_double = NULL; |
385 ASSERT_TRUE(copy_dict->Get("double", ©_double)); | 385 ASSERT_TRUE(copy_dict->Get("double", ©_double)); |
386 ASSERT_TRUE(copy_double); | 386 ASSERT_TRUE(copy_double); |
387 ASSERT_NE(copy_double, original_double); | 387 ASSERT_NE(copy_double, original_double); |
388 ASSERT_TRUE(copy_double->IsType(Value::TYPE_DOUBLE)); | 388 ASSERT_TRUE(copy_double->IsDouble()); |
389 double copy_double_value = 0; | 389 double copy_double_value = 0; |
390 ASSERT_TRUE(copy_double->GetAsDouble(©_double_value)); | 390 ASSERT_TRUE(copy_double->GetAsDouble(©_double_value)); |
391 ASSERT_EQ(3.14, copy_double_value); | 391 ASSERT_EQ(3.14, copy_double_value); |
392 | 392 |
393 Value* copy_string = NULL; | 393 Value* copy_string = NULL; |
394 ASSERT_TRUE(copy_dict->Get("string", ©_string)); | 394 ASSERT_TRUE(copy_dict->Get("string", ©_string)); |
395 ASSERT_TRUE(copy_string); | 395 ASSERT_TRUE(copy_string); |
396 ASSERT_NE(copy_string, original_string); | 396 ASSERT_NE(copy_string, original_string); |
397 ASSERT_TRUE(copy_string->IsType(Value::TYPE_STRING)); | 397 ASSERT_TRUE(copy_string->IsString()); |
398 std::string copy_string_value; | 398 std::string copy_string_value; |
399 string16 copy_string16_value; | 399 string16 copy_string16_value; |
400 ASSERT_TRUE(copy_string->GetAsString(©_string_value)); | 400 ASSERT_TRUE(copy_string->GetAsString(©_string_value)); |
401 ASSERT_TRUE(copy_string->GetAsString(©_string16_value)); | 401 ASSERT_TRUE(copy_string->GetAsString(©_string16_value)); |
402 ASSERT_EQ(std::string("hello"), copy_string_value); | 402 ASSERT_EQ(std::string("hello"), copy_string_value); |
403 ASSERT_EQ(ASCIIToUTF16("hello"), copy_string16_value); | 403 ASSERT_EQ(ASCIIToUTF16("hello"), copy_string16_value); |
404 | 404 |
405 Value* copy_string16 = NULL; | 405 Value* copy_string16 = NULL; |
406 ASSERT_TRUE(copy_dict->Get("string16", ©_string16)); | 406 ASSERT_TRUE(copy_dict->Get("string16", ©_string16)); |
407 ASSERT_TRUE(copy_string16); | 407 ASSERT_TRUE(copy_string16); |
408 ASSERT_NE(copy_string16, original_string16); | 408 ASSERT_NE(copy_string16, original_string16); |
409 ASSERT_TRUE(copy_string16->IsType(Value::TYPE_STRING)); | 409 ASSERT_TRUE(copy_string16->IsString()); |
410 ASSERT_TRUE(copy_string16->GetAsString(©_string_value)); | 410 ASSERT_TRUE(copy_string16->GetAsString(©_string_value)); |
411 ASSERT_TRUE(copy_string16->GetAsString(©_string16_value)); | 411 ASSERT_TRUE(copy_string16->GetAsString(©_string16_value)); |
412 ASSERT_EQ(std::string("hello16"), copy_string_value); | 412 ASSERT_EQ(std::string("hello16"), copy_string_value); |
413 ASSERT_EQ(ASCIIToUTF16("hello16"), copy_string16_value); | 413 ASSERT_EQ(ASCIIToUTF16("hello16"), copy_string16_value); |
414 | 414 |
415 Value* copy_binary = NULL; | 415 Value* copy_binary = NULL; |
416 ASSERT_TRUE(copy_dict->Get("binary", ©_binary)); | 416 ASSERT_TRUE(copy_dict->Get("binary", ©_binary)); |
417 ASSERT_TRUE(copy_binary); | 417 ASSERT_TRUE(copy_binary); |
418 ASSERT_NE(copy_binary, original_binary); | 418 ASSERT_NE(copy_binary, original_binary); |
419 ASSERT_TRUE(copy_binary->IsType(Value::TYPE_BINARY)); | 419 ASSERT_TRUE(copy_binary->IsBinary()); |
420 ASSERT_NE(original_binary->GetBuffer(), | 420 ASSERT_NE(original_binary->GetBuffer(), |
421 static_cast<BinaryValue*>(copy_binary)->GetBuffer()); | 421 static_cast<BinaryValue*>(copy_binary)->GetBuffer()); |
422 ASSERT_EQ(original_binary->GetSize(), | 422 ASSERT_EQ(original_binary->GetSize(), |
423 static_cast<BinaryValue*>(copy_binary)->GetSize()); | 423 static_cast<BinaryValue*>(copy_binary)->GetSize()); |
424 ASSERT_EQ(0, memcmp(original_binary->GetBuffer(), | 424 ASSERT_EQ(0, memcmp(original_binary->GetBuffer(), |
425 static_cast<BinaryValue*>(copy_binary)->GetBuffer(), | 425 static_cast<BinaryValue*>(copy_binary)->GetBuffer(), |
426 original_binary->GetSize())); | 426 original_binary->GetSize())); |
427 | 427 |
428 Value* copy_value = NULL; | 428 Value* copy_value = NULL; |
429 ASSERT_TRUE(copy_dict->Get("list", ©_value)); | 429 ASSERT_TRUE(copy_dict->Get("list", ©_value)); |
430 ASSERT_TRUE(copy_value); | 430 ASSERT_TRUE(copy_value); |
431 ASSERT_NE(copy_value, original_list); | 431 ASSERT_NE(copy_value, original_list); |
432 ASSERT_TRUE(copy_value->IsType(Value::TYPE_LIST)); | 432 ASSERT_TRUE(copy_value->IsList()); |
433 ListValue* copy_list = static_cast<ListValue*>(copy_value); | 433 ListValue* copy_list = static_cast<ListValue*>(copy_value); |
434 ASSERT_EQ(2U, copy_list->GetSize()); | 434 ASSERT_EQ(2U, copy_list->GetSize()); |
435 | 435 |
436 Value* copy_list_element_0; | 436 Value* copy_list_element_0; |
437 ASSERT_TRUE(copy_list->Get(0, ©_list_element_0)); | 437 ASSERT_TRUE(copy_list->Get(0, ©_list_element_0)); |
438 ASSERT_TRUE(copy_list_element_0); | 438 ASSERT_TRUE(copy_list_element_0); |
439 ASSERT_NE(copy_list_element_0, original_list_element_0); | 439 ASSERT_NE(copy_list_element_0, original_list_element_0); |
440 int copy_list_element_0_value; | 440 int copy_list_element_0_value; |
441 ASSERT_TRUE(copy_list_element_0->GetAsInteger(©_list_element_0_value)); | 441 ASSERT_TRUE(copy_list_element_0->GetAsInteger(©_list_element_0_value)); |
442 ASSERT_EQ(0, copy_list_element_0_value); | 442 ASSERT_EQ(0, copy_list_element_0_value); |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
687 std::string sub_collide_key_value; | 687 std::string sub_collide_key_value; |
688 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key", | 688 EXPECT_TRUE(res_sub_dict->GetString("sub_collide_key", |
689 &sub_collide_key_value)); | 689 &sub_collide_key_value)); |
690 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. | 690 EXPECT_EQ("sub_collide_key_value_merge", sub_collide_key_value); // Replaced. |
691 std::string sub_merge_key_value; | 691 std::string sub_merge_key_value; |
692 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value)); | 692 EXPECT_TRUE(res_sub_dict->GetString("sub_merge_key", &sub_merge_key_value)); |
693 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. | 693 EXPECT_EQ("sub_merge_key_value_merge", sub_merge_key_value); // Merged in. |
694 } | 694 } |
695 | 695 |
696 } // namespace base | 696 } // namespace base |
OLD | NEW |