OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 scoped_ptr<Value> sought_value(Value::CreateIntegerValue(42)); | 98 scoped_ptr<Value> sought_value(Value::CreateIntegerValue(42)); |
99 scoped_ptr<Value> not_found_value(Value::CreateBooleanValue(false)); | 99 scoped_ptr<Value> not_found_value(Value::CreateBooleanValue(false)); |
100 | 100 |
101 ASSERT_NE(mixed_list->end(), mixed_list->Find(*sought_value)); | 101 ASSERT_NE(mixed_list->end(), mixed_list->Find(*sought_value)); |
102 ASSERT_TRUE((*mixed_list->Find(*sought_value))->GetAsInteger(&int_value)); | 102 ASSERT_TRUE((*mixed_list->Find(*sought_value))->GetAsInteger(&int_value)); |
103 ASSERT_EQ(42, int_value); | 103 ASSERT_EQ(42, int_value); |
104 ASSERT_EQ(mixed_list->end(), mixed_list->Find(*not_found_value)); | 104 ASSERT_EQ(mixed_list->end(), mixed_list->Find(*not_found_value)); |
105 } | 105 } |
106 | 106 |
107 TEST(ValuesTest, BinaryValue) { | 107 TEST(ValuesTest, BinaryValue) { |
108 // Default constructor creates a BinaryValue with a null buffer and size 0. | 108 char* buffer = NULL; |
109 scoped_ptr<BinaryValue> binary(new BinaryValue()); | 109 // Passing a null buffer pointer doesn't yield a BinaryValue |
| 110 scoped_ptr<BinaryValue> binary(BinaryValue::Create(buffer, 0)); |
| 111 ASSERT_FALSE(binary.get()); |
| 112 |
| 113 // If you want to represent an empty binary value, use a zero-length buffer. |
| 114 buffer = new char[1]; |
| 115 ASSERT_TRUE(buffer); |
| 116 binary.reset(BinaryValue::Create(buffer, 0)); |
110 ASSERT_TRUE(binary.get()); | 117 ASSERT_TRUE(binary.get()); |
111 ASSERT_EQ(NULL, binary->GetBuffer()); | 118 ASSERT_TRUE(binary->GetBuffer()); |
| 119 ASSERT_EQ(buffer, binary->GetBuffer()); |
112 ASSERT_EQ(0U, binary->GetSize()); | 120 ASSERT_EQ(0U, binary->GetSize()); |
113 | 121 |
114 // Test the common case of a non-empty buffer | 122 // Test the common case of a non-empty buffer |
115 char* buffer = new char[15]; | 123 buffer = new char[15]; |
116 binary.reset(new BinaryValue(scoped_ptr<char>(buffer), 15)); | 124 binary.reset(BinaryValue::Create(buffer, 15)); |
117 ASSERT_TRUE(binary.get()); | 125 ASSERT_TRUE(binary.get()); |
118 ASSERT_TRUE(binary->GetBuffer()); | 126 ASSERT_TRUE(binary->GetBuffer()); |
119 ASSERT_EQ(buffer, binary->GetBuffer()); | 127 ASSERT_EQ(buffer, binary->GetBuffer()); |
120 ASSERT_EQ(15U, binary->GetSize()); | 128 ASSERT_EQ(15U, binary->GetSize()); |
121 | 129 |
122 char stack_buffer[42]; | 130 char stack_buffer[42]; |
123 memset(stack_buffer, '!', 42); | 131 memset(stack_buffer, '!', 42); |
124 binary.reset(BinaryValue::CreateWithCopiedBuffer(stack_buffer, 42)); | 132 binary.reset(BinaryValue::CreateWithCopiedBuffer(stack_buffer, 42)); |
125 ASSERT_TRUE(binary.get()); | 133 ASSERT_TRUE(binary.get()); |
126 ASSERT_TRUE(binary->GetBuffer()); | 134 ASSERT_TRUE(binary->GetBuffer()); |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 FundamentalValue* original_int = Value::CreateIntegerValue(42); | 343 FundamentalValue* original_int = Value::CreateIntegerValue(42); |
336 original_dict.Set("int", original_int); | 344 original_dict.Set("int", original_int); |
337 FundamentalValue* original_double = Value::CreateDoubleValue(3.14); | 345 FundamentalValue* original_double = Value::CreateDoubleValue(3.14); |
338 original_dict.Set("double", original_double); | 346 original_dict.Set("double", original_double); |
339 StringValue* original_string = Value::CreateStringValue("hello"); | 347 StringValue* original_string = Value::CreateStringValue("hello"); |
340 original_dict.Set("string", original_string); | 348 original_dict.Set("string", original_string); |
341 StringValue* original_string16 = | 349 StringValue* original_string16 = |
342 Value::CreateStringValue(ASCIIToUTF16("hello16")); | 350 Value::CreateStringValue(ASCIIToUTF16("hello16")); |
343 original_dict.Set("string16", original_string16); | 351 original_dict.Set("string16", original_string16); |
344 | 352 |
345 scoped_ptr<char> original_buffer(new char[42]); | 353 char* original_buffer = new char[42]; |
346 memset(original_buffer.get(), '!', 42); | 354 memset(original_buffer, '!', 42); |
347 BinaryValue* original_binary = new BinaryValue(original_buffer.Pass(), 42); | 355 BinaryValue* original_binary = BinaryValue::Create(original_buffer, 42); |
348 original_dict.Set("binary", original_binary); | 356 original_dict.Set("binary", original_binary); |
349 | 357 |
350 ListValue* original_list = new ListValue(); | 358 ListValue* original_list = new ListValue(); |
351 FundamentalValue* original_list_element_0 = Value::CreateIntegerValue(0); | 359 FundamentalValue* original_list_element_0 = Value::CreateIntegerValue(0); |
352 original_list->Append(original_list_element_0); | 360 original_list->Append(original_list_element_0); |
353 FundamentalValue* original_list_element_1 = Value::CreateIntegerValue(1); | 361 FundamentalValue* original_list_element_1 = Value::CreateIntegerValue(1); |
354 original_list->Append(original_list_element_1); | 362 original_list->Append(original_list_element_1); |
355 original_dict.Set("list", original_list); | 363 original_dict.Set("list", original_list); |
356 | 364 |
357 DictionaryValue* original_nested_dictionary = new DictionaryValue(); | 365 DictionaryValue* original_nested_dictionary = new DictionaryValue(); |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
543 FundamentalValue* original_int = Value::CreateIntegerValue(42); | 551 FundamentalValue* original_int = Value::CreateIntegerValue(42); |
544 original_dict.Set("int", original_int); | 552 original_dict.Set("int", original_int); |
545 FundamentalValue* original_double = Value::CreateDoubleValue(3.14); | 553 FundamentalValue* original_double = Value::CreateDoubleValue(3.14); |
546 original_dict.Set("double", original_double); | 554 original_dict.Set("double", original_double); |
547 StringValue* original_string = Value::CreateStringValue("hello"); | 555 StringValue* original_string = Value::CreateStringValue("hello"); |
548 original_dict.Set("string", original_string); | 556 original_dict.Set("string", original_string); |
549 StringValue* original_string16 = | 557 StringValue* original_string16 = |
550 Value::CreateStringValue(ASCIIToUTF16("hello16")); | 558 Value::CreateStringValue(ASCIIToUTF16("hello16")); |
551 original_dict.Set("string16", original_string16); | 559 original_dict.Set("string16", original_string16); |
552 | 560 |
553 scoped_ptr<char> original_buffer(new char[42]); | 561 char* original_buffer = new char[42]; |
554 memset(original_buffer.get(), '!', 42); | 562 memset(original_buffer, '!', 42); |
555 BinaryValue* original_binary = new BinaryValue(original_buffer.Pass(), 42); | 563 BinaryValue* original_binary = BinaryValue::Create(original_buffer, 42); |
556 original_dict.Set("binary", original_binary); | 564 original_dict.Set("binary", original_binary); |
557 | 565 |
558 ListValue* original_list = new ListValue(); | 566 ListValue* original_list = new ListValue(); |
559 FundamentalValue* original_list_element_0 = Value::CreateIntegerValue(0); | 567 FundamentalValue* original_list_element_0 = Value::CreateIntegerValue(0); |
560 original_list->Append(original_list_element_0); | 568 original_list->Append(original_list_element_0); |
561 FundamentalValue* original_list_element_1 = Value::CreateIntegerValue(1); | 569 FundamentalValue* original_list_element_1 = Value::CreateIntegerValue(1); |
562 original_list->Append(original_list_element_1); | 570 original_list->Append(original_list_element_1); |
563 original_dict.Set("list", original_list); | 571 original_dict.Set("list", original_list); |
564 | 572 |
565 Value* original_dict_value = &original_dict; | 573 Value* original_dict_value = &original_dict; |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
772 seen2 = true; | 780 seen2 = true; |
773 } else { | 781 } else { |
774 ADD_FAILURE(); | 782 ADD_FAILURE(); |
775 } | 783 } |
776 } | 784 } |
777 EXPECT_TRUE(seen1); | 785 EXPECT_TRUE(seen1); |
778 EXPECT_TRUE(seen2); | 786 EXPECT_TRUE(seen2); |
779 } | 787 } |
780 | 788 |
781 } // namespace base | 789 } // namespace base |
OLD | NEW |