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

Side by Side Diff: base/pickle_unittest.cc

Issue 11961021: base: Convert scoped_arrays to the new scoped_ptr style. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: revert callback changes 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <string> 5 #include <string>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/pickle.h" 9 #include "base/pickle.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 VerifyResult(pickle2); 94 VerifyResult(pickle2);
95 95
96 // test operator= 96 // test operator=
97 Pickle pickle3; 97 Pickle pickle3;
98 pickle3 = pickle; 98 pickle3 = pickle;
99 VerifyResult(pickle3); 99 VerifyResult(pickle3);
100 } 100 }
101 101
102 // Tests that we can handle really small buffers. 102 // Tests that we can handle really small buffers.
103 TEST(PickleTest, SmallBuffer) { 103 TEST(PickleTest, SmallBuffer) {
104 scoped_array<char> buffer(new char[1]); 104 scoped_ptr<char[]> buffer(new char[1]);
105 105
106 // We should not touch the buffer. 106 // We should not touch the buffer.
107 Pickle pickle(buffer.get(), 1); 107 Pickle pickle(buffer.get(), 1);
108 108
109 PickleIterator iter(pickle); 109 PickleIterator iter(pickle);
110 int data; 110 int data;
111 EXPECT_FALSE(pickle.ReadInt(&iter, &data)); 111 EXPECT_FALSE(pickle.ReadInt(&iter, &data));
112 } 112 }
113 113
114 // Tests that we can handle improper headers. 114 // Tests that we can handle improper headers.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 const char* start = reinterpret_cast<const char*>(pickle.data()); 178 const char* start = reinterpret_cast<const char*>(pickle.data());
179 const char* end = start + pickle.size(); 179 const char* end = start + pickle.size();
180 180
181 EXPECT_TRUE(end == Pickle::FindNext(pickle.header_size_, start, end)); 181 EXPECT_TRUE(end == Pickle::FindNext(pickle.header_size_, start, end));
182 EXPECT_TRUE(NULL == Pickle::FindNext(pickle.header_size_, start, end - 1)); 182 EXPECT_TRUE(NULL == Pickle::FindNext(pickle.header_size_, start, end - 1));
183 EXPECT_TRUE(end == Pickle::FindNext(pickle.header_size_, start, end + 1)); 183 EXPECT_TRUE(end == Pickle::FindNext(pickle.header_size_, start, end + 1));
184 } 184 }
185 185
186 TEST(PickleTest, FindNextWithIncompleteHeader) { 186 TEST(PickleTest, FindNextWithIncompleteHeader) {
187 size_t header_size = sizeof(Pickle::Header); 187 size_t header_size = sizeof(Pickle::Header);
188 scoped_array<char> buffer(new char[header_size - 1]); 188 scoped_ptr<char[]> buffer(new char[header_size - 1]);
189 memset(buffer.get(), 0x1, header_size - 1); 189 memset(buffer.get(), 0x1, header_size - 1);
190 190
191 const char* start = buffer.get(); 191 const char* start = buffer.get();
192 const char* end = start + header_size - 1; 192 const char* end = start + header_size - 1;
193 193
194 EXPECT_TRUE(NULL == Pickle::FindNext(header_size, start, end)); 194 EXPECT_TRUE(NULL == Pickle::FindNext(header_size, start, end));
195 } 195 }
196 196
197 TEST(PickleTest, GetReadPointerAndAdvance) { 197 TEST(PickleTest, GetReadPointerAndAdvance) {
198 Pickle pickle; 198 Pickle pickle;
199 199
200 PickleIterator iter(pickle); 200 PickleIterator iter(pickle);
201 EXPECT_FALSE(iter.GetReadPointerAndAdvance(1)); 201 EXPECT_FALSE(iter.GetReadPointerAndAdvance(1));
202 202
203 EXPECT_TRUE(pickle.WriteInt(1)); 203 EXPECT_TRUE(pickle.WriteInt(1));
204 EXPECT_TRUE(pickle.WriteInt(2)); 204 EXPECT_TRUE(pickle.WriteInt(2));
205 int bytes = sizeof(int) * 2; 205 int bytes = sizeof(int) * 2;
206 206
207 EXPECT_TRUE(PickleIterator(pickle).GetReadPointerAndAdvance(0)); 207 EXPECT_TRUE(PickleIterator(pickle).GetReadPointerAndAdvance(0));
208 EXPECT_TRUE(PickleIterator(pickle).GetReadPointerAndAdvance(1)); 208 EXPECT_TRUE(PickleIterator(pickle).GetReadPointerAndAdvance(1));
209 EXPECT_FALSE(PickleIterator(pickle).GetReadPointerAndAdvance(-1)); 209 EXPECT_FALSE(PickleIterator(pickle).GetReadPointerAndAdvance(-1));
210 EXPECT_TRUE(PickleIterator(pickle).GetReadPointerAndAdvance(bytes)); 210 EXPECT_TRUE(PickleIterator(pickle).GetReadPointerAndAdvance(bytes));
211 EXPECT_FALSE(PickleIterator(pickle).GetReadPointerAndAdvance(bytes + 1)); 211 EXPECT_FALSE(PickleIterator(pickle).GetReadPointerAndAdvance(bytes + 1));
212 EXPECT_FALSE(PickleIterator(pickle).GetReadPointerAndAdvance(INT_MAX)); 212 EXPECT_FALSE(PickleIterator(pickle).GetReadPointerAndAdvance(INT_MAX));
213 EXPECT_FALSE(PickleIterator(pickle).GetReadPointerAndAdvance(INT_MIN)); 213 EXPECT_FALSE(PickleIterator(pickle).GetReadPointerAndAdvance(INT_MIN));
214 } 214 }
215 215
216 TEST(PickleTest, Resize) { 216 TEST(PickleTest, Resize) {
217 size_t unit = Pickle::kPayloadUnit; 217 size_t unit = Pickle::kPayloadUnit;
218 scoped_array<char> data(new char[unit]); 218 scoped_ptr<char[]> data(new char[unit]);
219 char* data_ptr = data.get(); 219 char* data_ptr = data.get();
220 for (size_t i = 0; i < unit; i++) 220 for (size_t i = 0; i < unit; i++)
221 data_ptr[i] = 'G'; 221 data_ptr[i] = 'G';
222 222
223 // construct a message that will be exactly the size of one payload unit, 223 // construct a message that will be exactly the size of one payload unit,
224 // note that any data will have a 4-byte header indicating the size 224 // note that any data will have a 4-byte header indicating the size
225 const size_t payload_size_after_header = unit - sizeof(uint32); 225 const size_t payload_size_after_header = unit - sizeof(uint32);
226 Pickle pickle; 226 Pickle pickle;
227 pickle.WriteData(data_ptr, 227 pickle.WriteData(data_ptr,
228 static_cast<int>(payload_size_after_header - sizeof(uint32))); 228 static_cast<int>(payload_size_after_header - sizeof(uint32)));
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 EXPECT_TRUE(pickle.WriteBytes(&data, sizeof(data))); 333 EXPECT_TRUE(pickle.WriteBytes(&data, sizeof(data)));
334 334
335 PickleIterator iter(pickle); 335 PickleIterator iter(pickle);
336 const char* outdata_char = NULL; 336 const char* outdata_char = NULL;
337 EXPECT_TRUE(pickle.ReadBytes(&iter, &outdata_char, sizeof(data))); 337 EXPECT_TRUE(pickle.ReadBytes(&iter, &outdata_char, sizeof(data)));
338 338
339 int outdata; 339 int outdata;
340 memcpy(&outdata, outdata_char, sizeof(outdata)); 340 memcpy(&outdata, outdata_char, sizeof(outdata));
341 EXPECT_EQ(data, outdata); 341 EXPECT_EQ(data, outdata);
342 } 342 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698