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

Unified Diff: base/values_unittest.cc

Issue 11745016: BinaryValue support for NULL buffer. (Closed) Base URL: https://git.chromium.org/chromium/src.git@master
Patch Set: BinaryValue support for NULL buffer. Created 7 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/values.cc ('k') | chrome/browser/extensions/api/bluetooth/bluetooth_api.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/values_unittest.cc
diff --git a/base/values_unittest.cc b/base/values_unittest.cc
index 8a42f784bdfb40da58b8f293c8f75e6d389d4089..98bc73c9a1b7ee50613ec562cd233a3eca23cccf 100644
--- a/base/values_unittest.cc
+++ b/base/values_unittest.cc
@@ -105,23 +105,15 @@ TEST(ValuesTest, List) {
}
TEST(ValuesTest, BinaryValue) {
- char* buffer = NULL;
- // Passing a null buffer pointer doesn't yield a BinaryValue
- scoped_ptr<BinaryValue> binary(BinaryValue::Create(buffer, 0));
- ASSERT_FALSE(binary.get());
-
- // If you want to represent an empty binary value, use a zero-length buffer.
- buffer = new char[1];
- ASSERT_TRUE(buffer);
- binary.reset(BinaryValue::Create(buffer, 0));
+ // Default constructor creates a BinaryValue with a null buffer and size 0.
+ scoped_ptr<BinaryValue> binary(new BinaryValue());
ASSERT_TRUE(binary.get());
- ASSERT_TRUE(binary->GetBuffer());
- ASSERT_EQ(buffer, binary->GetBuffer());
+ ASSERT_EQ(NULL, binary->GetBuffer());
ASSERT_EQ(0U, binary->GetSize());
// Test the common case of a non-empty buffer
- buffer = new char[15];
- binary.reset(BinaryValue::Create(buffer, 15));
+ char* buffer = new char[15];
+ binary.reset(new BinaryValue(scoped_ptr<char[]>(buffer), 15));
ASSERT_TRUE(binary.get());
ASSERT_TRUE(binary->GetBuffer());
ASSERT_EQ(buffer, binary->GetBuffer());
@@ -348,9 +340,9 @@ TEST(ValuesTest, DeepCopy) {
StringValue* original_string16 = new StringValue(ASCIIToUTF16("hello16"));
original_dict.Set("string16", original_string16);
- char* original_buffer = new char[42];
- memset(original_buffer, '!', 42);
- BinaryValue* original_binary = BinaryValue::Create(original_buffer, 42);
+ scoped_ptr<char[]> original_buffer(new char[42]);
+ memset(original_buffer.get(), '!', 42);
+ BinaryValue* original_binary = new BinaryValue(original_buffer.Pass(), 42);
original_dict.Set("binary", original_binary);
ListValue* original_list = new ListValue();
@@ -555,9 +547,9 @@ TEST(ValuesTest, DeepCopyCovariantReturnTypes) {
StringValue* original_string16 = new StringValue(ASCIIToUTF16("hello16"));
original_dict.Set("string16", original_string16);
- char* original_buffer = new char[42];
- memset(original_buffer, '!', 42);
- BinaryValue* original_binary = BinaryValue::Create(original_buffer, 42);
+ scoped_ptr<char[]> original_buffer(new char[42]);
+ memset(original_buffer.get(), '!', 42);
+ BinaryValue* original_binary = new BinaryValue(original_buffer.Pass(), 42);
original_dict.Set("binary", original_binary);
ListValue* original_list = new ListValue();
« no previous file with comments | « base/values.cc ('k') | chrome/browser/extensions/api/bluetooth/bluetooth_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698