| 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 <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/strings/string16.h" | 10 #include "base/strings/string16.h" |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 | 210 |
| 211 // construct a message that will be exactly the size of one payload unit, | 211 // construct a message that will be exactly the size of one payload unit, |
| 212 // note that any data will have a 4-byte header indicating the size | 212 // note that any data will have a 4-byte header indicating the size |
| 213 const size_t payload_size_after_header = unit - sizeof(uint32); | 213 const size_t payload_size_after_header = unit - sizeof(uint32); |
| 214 Pickle pickle; | 214 Pickle pickle; |
| 215 pickle.WriteData(data_ptr, | 215 pickle.WriteData(data_ptr, |
| 216 static_cast<int>(payload_size_after_header - sizeof(uint32))); | 216 static_cast<int>(payload_size_after_header - sizeof(uint32))); |
| 217 size_t cur_payload = payload_size_after_header; | 217 size_t cur_payload = payload_size_after_header; |
| 218 | 218 |
| 219 // note: we assume 'unit' is a power of 2 | 219 // note: we assume 'unit' is a power of 2 |
| 220 EXPECT_EQ(unit, pickle.capacity()); | 220 EXPECT_EQ(unit, pickle.capacity_after_header()); |
| 221 EXPECT_EQ(pickle.payload_size(), payload_size_after_header); | 221 EXPECT_EQ(pickle.payload_size(), payload_size_after_header); |
| 222 | 222 |
| 223 // fill out a full page (noting data header) | 223 // fill out a full page (noting data header) |
| 224 pickle.WriteData(data_ptr, static_cast<int>(unit - sizeof(uint32))); | 224 pickle.WriteData(data_ptr, static_cast<int>(unit - sizeof(uint32))); |
| 225 cur_payload += unit; | 225 cur_payload += unit; |
| 226 EXPECT_EQ(unit * 2, pickle.capacity()); | 226 EXPECT_EQ(unit * 2, pickle.capacity_after_header()); |
| 227 EXPECT_EQ(cur_payload, pickle.payload_size()); | 227 EXPECT_EQ(cur_payload, pickle.payload_size()); |
| 228 | 228 |
| 229 // one more byte should double the capacity | 229 // one more byte should double the capacity |
| 230 pickle.WriteData(data_ptr, 1); | 230 pickle.WriteData(data_ptr, 1); |
| 231 cur_payload += 5; | 231 cur_payload += 5; |
| 232 EXPECT_EQ(unit * 4, pickle.capacity()); | 232 EXPECT_EQ(unit * 4, pickle.capacity_after_header()); |
| 233 EXPECT_EQ(cur_payload, pickle.payload_size()); | 233 EXPECT_EQ(cur_payload, pickle.payload_size()); |
| 234 } | 234 } |
| 235 | 235 |
| 236 namespace { | 236 namespace { |
| 237 | 237 |
| 238 struct CustomHeader : Pickle::Header { | 238 struct CustomHeader : Pickle::Header { |
| 239 int blah; | 239 int blah; |
| 240 }; | 240 }; |
| 241 | 241 |
| 242 } // namespace | 242 } // namespace |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 EXPECT_TRUE(pickle.WriteBytes(&data, sizeof(data))); | 321 EXPECT_TRUE(pickle.WriteBytes(&data, sizeof(data))); |
| 322 | 322 |
| 323 PickleIterator iter(pickle); | 323 PickleIterator iter(pickle); |
| 324 const char* outdata_char = NULL; | 324 const char* outdata_char = NULL; |
| 325 EXPECT_TRUE(pickle.ReadBytes(&iter, &outdata_char, sizeof(data))); | 325 EXPECT_TRUE(pickle.ReadBytes(&iter, &outdata_char, sizeof(data))); |
| 326 | 326 |
| 327 int outdata; | 327 int outdata; |
| 328 memcpy(&outdata, outdata_char, sizeof(outdata)); | 328 memcpy(&outdata, outdata_char, sizeof(outdata)); |
| 329 EXPECT_EQ(data, outdata); | 329 EXPECT_EQ(data, outdata); |
| 330 } | 330 } |
| OLD | NEW |