| 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 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 355 BinaryValue* original_binary = BinaryValue::Create(original_buffer, 42); | 355 BinaryValue* original_binary = BinaryValue::Create(original_buffer, 42); |
| 356 original_dict.Set("binary", original_binary); | 356 original_dict.Set("binary", original_binary); |
| 357 | 357 |
| 358 ListValue* original_list = new ListValue(); | 358 ListValue* original_list = new ListValue(); |
| 359 FundamentalValue* original_list_element_0 = Value::CreateIntegerValue(0); | 359 FundamentalValue* original_list_element_0 = Value::CreateIntegerValue(0); |
| 360 original_list->Append(original_list_element_0); | 360 original_list->Append(original_list_element_0); |
| 361 FundamentalValue* original_list_element_1 = Value::CreateIntegerValue(1); | 361 FundamentalValue* original_list_element_1 = Value::CreateIntegerValue(1); |
| 362 original_list->Append(original_list_element_1); | 362 original_list->Append(original_list_element_1); |
| 363 original_dict.Set("list", original_list); | 363 original_dict.Set("list", original_list); |
| 364 | 364 |
| 365 DictionaryValue* original_nested_dictionary = new DictionaryValue(); |
| 366 original_nested_dictionary->Set("key", Value::CreateStringValue("value")); |
| 367 original_dict.Set("dictionary", original_nested_dictionary); |
| 368 |
| 365 scoped_ptr<DictionaryValue> copy_dict(original_dict.DeepCopy()); | 369 scoped_ptr<DictionaryValue> copy_dict(original_dict.DeepCopy()); |
| 366 ASSERT_TRUE(copy_dict.get()); | 370 ASSERT_TRUE(copy_dict.get()); |
| 367 ASSERT_NE(copy_dict.get(), &original_dict); | 371 ASSERT_NE(copy_dict.get(), &original_dict); |
| 368 | 372 |
| 369 Value* copy_null = NULL; | 373 Value* copy_null = NULL; |
| 370 ASSERT_TRUE(copy_dict->Get("null", ©_null)); | 374 ASSERT_TRUE(copy_dict->Get("null", ©_null)); |
| 371 ASSERT_TRUE(copy_null); | 375 ASSERT_TRUE(copy_null); |
| 372 ASSERT_NE(copy_null, original_null); | 376 ASSERT_NE(copy_null, original_null); |
| 373 ASSERT_TRUE(copy_null->IsType(Value::TYPE_NULL)); | 377 ASSERT_TRUE(copy_null->IsType(Value::TYPE_NULL)); |
| 374 | 378 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 static_cast<BinaryValue*>(copy_binary)->GetSize()); | 436 static_cast<BinaryValue*>(copy_binary)->GetSize()); |
| 433 ASSERT_EQ(0, memcmp(original_binary->GetBuffer(), | 437 ASSERT_EQ(0, memcmp(original_binary->GetBuffer(), |
| 434 static_cast<BinaryValue*>(copy_binary)->GetBuffer(), | 438 static_cast<BinaryValue*>(copy_binary)->GetBuffer(), |
| 435 original_binary->GetSize())); | 439 original_binary->GetSize())); |
| 436 | 440 |
| 437 Value* copy_value = NULL; | 441 Value* copy_value = NULL; |
| 438 ASSERT_TRUE(copy_dict->Get("list", ©_value)); | 442 ASSERT_TRUE(copy_dict->Get("list", ©_value)); |
| 439 ASSERT_TRUE(copy_value); | 443 ASSERT_TRUE(copy_value); |
| 440 ASSERT_NE(copy_value, original_list); | 444 ASSERT_NE(copy_value, original_list); |
| 441 ASSERT_TRUE(copy_value->IsType(Value::TYPE_LIST)); | 445 ASSERT_TRUE(copy_value->IsType(Value::TYPE_LIST)); |
| 442 ListValue* copy_list = static_cast<ListValue*>(copy_value); | 446 ListValue* copy_list = NULL; |
| 447 ASSERT_TRUE(copy_value->GetAsList(©_list)); |
| 448 ASSERT_TRUE(copy_list); |
| 443 ASSERT_EQ(2U, copy_list->GetSize()); | 449 ASSERT_EQ(2U, copy_list->GetSize()); |
| 444 | 450 |
| 445 Value* copy_list_element_0; | 451 Value* copy_list_element_0; |
| 446 ASSERT_TRUE(copy_list->Get(0, ©_list_element_0)); | 452 ASSERT_TRUE(copy_list->Get(0, ©_list_element_0)); |
| 447 ASSERT_TRUE(copy_list_element_0); | 453 ASSERT_TRUE(copy_list_element_0); |
| 448 ASSERT_NE(copy_list_element_0, original_list_element_0); | 454 ASSERT_NE(copy_list_element_0, original_list_element_0); |
| 449 int copy_list_element_0_value; | 455 int copy_list_element_0_value; |
| 450 ASSERT_TRUE(copy_list_element_0->GetAsInteger(©_list_element_0_value)); | 456 ASSERT_TRUE(copy_list_element_0->GetAsInteger(©_list_element_0_value)); |
| 451 ASSERT_EQ(0, copy_list_element_0_value); | 457 ASSERT_EQ(0, copy_list_element_0_value); |
| 452 | 458 |
| 453 Value* copy_list_element_1; | 459 Value* copy_list_element_1; |
| 454 ASSERT_TRUE(copy_list->Get(1, ©_list_element_1)); | 460 ASSERT_TRUE(copy_list->Get(1, ©_list_element_1)); |
| 455 ASSERT_TRUE(copy_list_element_1); | 461 ASSERT_TRUE(copy_list_element_1); |
| 456 ASSERT_NE(copy_list_element_1, original_list_element_1); | 462 ASSERT_NE(copy_list_element_1, original_list_element_1); |
| 457 int copy_list_element_1_value; | 463 int copy_list_element_1_value; |
| 458 ASSERT_TRUE(copy_list_element_1->GetAsInteger(©_list_element_1_value)); | 464 ASSERT_TRUE(copy_list_element_1->GetAsInteger(©_list_element_1_value)); |
| 459 ASSERT_EQ(1, copy_list_element_1_value); | 465 ASSERT_EQ(1, copy_list_element_1_value); |
| 466 |
| 467 copy_value = NULL; |
| 468 ASSERT_TRUE(copy_dict->Get("dictionary", ©_value)); |
| 469 ASSERT_TRUE(copy_value); |
| 470 ASSERT_NE(copy_value, original_nested_dictionary); |
| 471 ASSERT_TRUE(copy_value->IsType(Value::TYPE_DICTIONARY)); |
| 472 DictionaryValue* copy_nested_dictionary = NULL; |
| 473 ASSERT_TRUE(copy_value->GetAsDictionary(©_nested_dictionary)); |
| 474 ASSERT_TRUE(copy_nested_dictionary); |
| 475 EXPECT_TRUE(copy_nested_dictionary->HasKey("key")); |
| 460 } | 476 } |
| 461 | 477 |
| 462 TEST(ValuesTest, Equals) { | 478 TEST(ValuesTest, Equals) { |
| 463 Value* null1 = Value::CreateNullValue(); | 479 Value* null1 = Value::CreateNullValue(); |
| 464 Value* null2 = Value::CreateNullValue(); | 480 Value* null2 = Value::CreateNullValue(); |
| 465 EXPECT_NE(null1, null2); | 481 EXPECT_NE(null1, null2); |
| 466 EXPECT_TRUE(null1->Equals(null2)); | 482 EXPECT_TRUE(null1->Equals(null2)); |
| 467 | 483 |
| 468 Value* boolean = Value::CreateBooleanValue(false); | 484 Value* boolean = Value::CreateBooleanValue(false); |
| 469 EXPECT_FALSE(null1->Equals(boolean)); | 485 EXPECT_FALSE(null1->Equals(boolean)); |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 733 seen2 = true; | 749 seen2 = true; |
| 734 } else { | 750 } else { |
| 735 ADD_FAILURE(); | 751 ADD_FAILURE(); |
| 736 } | 752 } |
| 737 } | 753 } |
| 738 EXPECT_TRUE(seen1); | 754 EXPECT_TRUE(seen1); |
| 739 EXPECT_TRUE(seen2); | 755 EXPECT_TRUE(seen2); |
| 740 } | 756 } |
| 741 | 757 |
| 742 } // namespace base | 758 } // namespace base |
| OLD | NEW |