summaryrefslogtreecommitdiffstats
path: root/base/values_unittest.cc
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-20 02:34:57 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-20 02:34:57 +0000
commit0d0ed0c73c9710e8ab6ff80dd3750b70f0f751bf (patch)
treea9f66bd0f7c2df003a6f9066eee37dee067ce5dd /base/values_unittest.cc
parent0a7be8d8aed47cc460e1e848092377c2c426b89c (diff)
downloadchromium_src-0d0ed0c73c9710e8ab6ff80dd3750b70f0f751bf.zip
chromium_src-0d0ed0c73c9710e8ab6ff80dd3750b70f0f751bf.tar.gz
chromium_src-0d0ed0c73c9710e8ab6ff80dd3750b70f0f751bf.tar.bz2
Reverting due to memory waterfall failures.
Revert 138044 - Allowed BinaryValue to take a NULL buffer. BUG=127630 Review URL: https://chromiumcodereview.appspot.com/10389088 TBR=mitchellwrosen@chromium.org Review URL: https://chromiumcodereview.appspot.com/10388207 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138050 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/values_unittest.cc')
-rw-r--r--base/values_unittest.cc30
1 files changed, 19 insertions, 11 deletions
diff --git a/base/values_unittest.cc b/base/values_unittest.cc
index b0dd22e..9b92949 100644
--- a/base/values_unittest.cc
+++ b/base/values_unittest.cc
@@ -105,15 +105,23 @@ TEST(ValuesTest, List) {
}
TEST(ValuesTest, BinaryValue) {
- // Default constructor creates a BinaryValue with a null buffer and size 0.
- scoped_ptr<BinaryValue> binary(new 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));
ASSERT_TRUE(binary.get());
- ASSERT_EQ(NULL, binary->GetBuffer());
+ ASSERT_TRUE(binary->GetBuffer());
+ ASSERT_EQ(buffer, binary->GetBuffer());
ASSERT_EQ(0U, binary->GetSize());
// Test the common case of a non-empty buffer
- char* buffer = new char[15];
- binary.reset(new BinaryValue(scoped_ptr<char>(buffer), 15));
+ buffer = new char[15];
+ binary.reset(BinaryValue::Create(buffer, 15));
ASSERT_TRUE(binary.get());
ASSERT_TRUE(binary->GetBuffer());
ASSERT_EQ(buffer, binary->GetBuffer());
@@ -342,9 +350,9 @@ TEST(ValuesTest, DeepCopy) {
Value::CreateStringValue(ASCIIToUTF16("hello16"));
original_dict.Set("string16", original_string16);
- scoped_ptr<char> original_buffer(new char[42]);
- memset(original_buffer.get(), '!', 42);
- BinaryValue* original_binary = new BinaryValue(original_buffer.Pass(), 42);
+ char* original_buffer = new char[42];
+ memset(original_buffer, '!', 42);
+ BinaryValue* original_binary = BinaryValue::Create(original_buffer, 42);
original_dict.Set("binary", original_binary);
ListValue* original_list = new ListValue();
@@ -550,9 +558,9 @@ TEST(ValuesTest, DeepCopyCovariantReturnTypes) {
Value::CreateStringValue(ASCIIToUTF16("hello16"));
original_dict.Set("string16", original_string16);
- scoped_ptr<char> original_buffer(new char[42]);
- memset(original_buffer.get(), '!', 42);
- BinaryValue* original_binary = new BinaryValue(original_buffer.Pass(), 42);
+ char* original_buffer = new char[42];
+ memset(original_buffer, '!', 42);
+ BinaryValue* original_binary = BinaryValue::Create(original_buffer, 42);
original_dict.Set("binary", original_binary);
ListValue* original_list = new ListValue();