Chromium Code Reviews| Index: chrome/common/partial_circular_buffer_unittest.cc |
| diff --git a/chrome/common/partial_circular_buffer_unittest.cc b/chrome/common/partial_circular_buffer_unittest.cc |
| index 85153fac8d1e21f3cf1ca041fa9ea86dc8b75a59..38a920799ade6675587e2bbf082c739ba278d98d 100644 |
| --- a/chrome/common/partial_circular_buffer_unittest.cc |
| +++ b/chrome/common/partial_circular_buffer_unittest.cc |
| @@ -189,3 +189,24 @@ TEST_F(PartialCircularBufferTest, WrapOnceThenOverwriteWithNoWrap) { |
| EXPECT_EQ(0u, pcb_read_->Read(output_data, sizeof(output_data))); |
| } |
| + |
| +TEST_F(PartialCircularBufferTest, WrapTwiceWithSingleWrite) { |
| + size_t input_size = sizeof(kInputData); |
|
Nico
2015/04/07 16:42:16
const size_t kInputSize
gzobqq
2015/04/08 12:59:03
Done.
|
| + size_t large_size = input_size * 7; |
|
Nico
2015/04/07 16:42:16
const size_t kLargeSize
gzobqq
2015/04/08 12:59:03
Done.
|
| + scoped_ptr<uint8[]> large_input(new uint8[large_size]); |
|
Nico
2015/04/07 16:42:16
Shouldn't this easily fit on the stack?
gzobqq
2015/04/08 12:59:03
Done.
|
| + for (size_t offset = 0; offset < large_size; offset += input_size) |
| + memcpy(large_input.get() + offset, kInputData, input_size); |
| + |
| + InitWriteBuffer(false); |
| + pcb_write_->Write(large_input.get(), large_size); |
| + InitReadBuffer(); |
| + |
| + uint8 output_data[sizeof(kOutputRefDataWrap)] = {0}; |
| + EXPECT_EQ(sizeof(output_data), |
| + pcb_read_->Read(output_data, sizeof(output_data))); |
| + |
| + EXPECT_EQ(0, memcmp(kOutputRefDataWrap, output_data, sizeof(output_data))); |
| + |
| + EXPECT_EQ(0u, pcb_read_->Read(output_data, sizeof(output_data))); |
| +} |
| + |