| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "base/logging.h" | 5 #include "base/logging.h" |
| 6 #include "base/scoped_ptr.h" | 6 #include "base/scoped_ptr.h" |
| 7 #include "base/time.h" | 7 #include "base/time.h" |
| 8 #include "media/base/seekable_buffer.h" | 8 #include "media/base/seekable_buffer.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| 11 namespace { | 11 namespace { |
| 12 | 12 |
| 13 class SeekableBufferTest : public testing::Test { | 13 class SeekableBufferTest : public testing::Test { |
| 14 public: |
| 15 SeekableBufferTest() : buffer_(kBufferSize, kBufferSize) { |
| 16 } |
| 17 |
| 14 protected: | 18 protected: |
| 19 static const size_t kDataSize = 409600; |
| 20 static const size_t kBufferSize = 4096; |
| 21 static const size_t kWriteSize = 512; |
| 22 |
| 15 virtual void SetUp() { | 23 virtual void SetUp() { |
| 16 // Setup seed. | 24 // Setup seed. |
| 17 size_t seed = static_cast<int32>(base::Time::Now().ToInternalValue()); | 25 size_t seed = static_cast<int32>(base::Time::Now().ToInternalValue()); |
| 18 srand(seed); | 26 srand(seed); |
| 19 LOG(INFO) << "Random seed: " << seed; | 27 LOG(INFO) << "Random seed: " << seed; |
| 20 | 28 |
| 21 // Creates a test data. | 29 // Creates a test data. |
| 22 data_.reset(new uint8[kDataSize]); | |
| 23 for (size_t i = 0; i < kDataSize; i++) | 30 for (size_t i = 0; i < kDataSize; i++) |
| 24 data_.get()[i] = static_cast<char>(rand()); | 31 data_[i] = static_cast<char>(rand()); |
| 25 | |
| 26 // Creates a temp buffer. | |
| 27 write_buffer_.reset(new uint8[kDataSize]); | |
| 28 | |
| 29 // Setup |buffer_|. | |
| 30 buffer_.reset(new media::SeekableBuffer(kBufferSize, kBufferSize)); | |
| 31 } | 32 } |
| 32 | 33 |
| 33 size_t GetRandomInt(size_t maximum) { | 34 size_t GetRandomInt(size_t maximum) { |
| 34 return rand() % maximum + 1; | 35 return rand() % maximum + 1; |
| 35 } | 36 } |
| 36 | 37 |
| 37 static const size_t kDataSize = 409600; | 38 media::SeekableBuffer buffer_; |
| 38 static const size_t kBufferSize = 4096; | 39 uint8 data_[kDataSize]; |
| 39 scoped_ptr<media::SeekableBuffer> buffer_; | 40 uint8 write_buffer_[kDataSize]; |
| 40 scoped_array<uint8> data_; | |
| 41 scoped_array<uint8> write_buffer_; | |
| 42 }; | 41 }; |
| 43 | 42 |
| 44 TEST_F(SeekableBufferTest, RandomReadWrite) { | 43 TEST_F(SeekableBufferTest, RandomReadWrite) { |
| 45 size_t write_position = 0; | 44 size_t write_position = 0; |
| 46 size_t read_position = 0; | 45 size_t read_position = 0; |
| 47 while (read_position < kDataSize) { | 46 while (read_position < kDataSize) { |
| 48 // Write a random amount of data. | 47 // Write a random amount of data. |
| 49 size_t write_size = GetRandomInt(kBufferSize); | 48 size_t write_size = GetRandomInt(kBufferSize); |
| 50 write_size = std::min(write_size, kDataSize - write_position); | 49 write_size = std::min(write_size, kDataSize - write_position); |
| 51 bool should_append = | 50 bool should_append = buffer_.Append(write_size, data_ + write_position); |
| 52 buffer_->Append(write_size, data_.get() + write_position); | |
| 53 write_position += write_size; | 51 write_position += write_size; |
| 54 EXPECT_GE(write_position, read_position); | 52 EXPECT_GE(write_position, read_position); |
| 55 EXPECT_EQ(write_position - read_position, buffer_->forward_bytes()); | 53 EXPECT_EQ(write_position - read_position, buffer_.forward_bytes()); |
| 56 EXPECT_EQ(should_append, buffer_->forward_bytes() < kBufferSize) | 54 EXPECT_EQ(should_append, buffer_.forward_bytes() < kBufferSize) |
| 57 << "Incorrect buffer full reported"; | 55 << "Incorrect buffer full reported"; |
| 58 | 56 |
| 59 // Read a random amount of data. | 57 // Read a random amount of data. |
| 60 size_t read_size = GetRandomInt(kBufferSize); | 58 size_t read_size = GetRandomInt(kBufferSize); |
| 61 size_t bytes_read = buffer_->Read(read_size, write_buffer_.get()); | 59 size_t bytes_read = buffer_.Read(read_size, write_buffer_); |
| 62 EXPECT_GE(read_size, bytes_read); | 60 EXPECT_GE(read_size, bytes_read); |
| 63 EXPECT_EQ(0, memcmp(write_buffer_.get(), | 61 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, bytes_read)); |
| 64 data_.get() + read_position, | |
| 65 bytes_read)); | |
| 66 read_position += bytes_read; | 62 read_position += bytes_read; |
| 67 EXPECT_GE(write_position, read_position); | 63 EXPECT_GE(write_position, read_position); |
| 68 EXPECT_EQ(write_position - read_position, buffer_->forward_bytes()); | 64 EXPECT_EQ(write_position - read_position, buffer_.forward_bytes()); |
| 69 } | 65 } |
| 70 } | 66 } |
| 71 | 67 |
| 72 TEST_F(SeekableBufferTest, ReadWriteSeek) { | 68 TEST_F(SeekableBufferTest, ReadWriteSeek) { |
| 73 const size_t kWriteSize = 512; | |
| 74 const size_t kReadSize = kWriteSize / 4; | 69 const size_t kReadSize = kWriteSize / 4; |
| 75 | 70 |
| 76 size_t write_position = 0; | |
| 77 size_t read_position = 0; | |
| 78 size_t forward_bytes = 0; | |
| 79 for (int i = 0; i < 10; ++i) { | 71 for (int i = 0; i < 10; ++i) { |
| 80 // Write until buffer is full. | 72 // Write until buffer is full. |
| 81 for (int j = kBufferSize / kWriteSize; j > 0; --j) { | 73 for (size_t j = 0; j < kBufferSize; j += kWriteSize) { |
| 82 bool should_append = | 74 bool should_append = buffer_.Append(kWriteSize, data_ + j); |
| 83 buffer_->Append(kWriteSize, data_.get() + write_position); | 75 EXPECT_EQ(j < kBufferSize - kWriteSize, should_append) |
| 84 EXPECT_EQ(j > 1, should_append) << "Incorrect buffer full reported"; | 76 << "Incorrect buffer full reported"; |
| 85 write_position += kWriteSize; | 77 EXPECT_EQ(j + kWriteSize, buffer_.forward_bytes()); |
| 86 forward_bytes += kWriteSize; | |
| 87 EXPECT_EQ(forward_bytes, buffer_->forward_bytes()); | |
| 88 } | 78 } |
| 89 | 79 |
| 90 // Simulate a read and seek pattern. Each loop reads 4 times, each time | 80 // Simulate a read and seek pattern. Each loop reads 4 times, each time |
| 91 // reading a quarter of |kWriteSize|. | 81 // reading a quarter of |kWriteSize|. |
| 92 for (size_t j = 0; j < kBufferSize / kWriteSize; ++j) { | 82 size_t read_position = 0; |
| 83 size_t forward_bytes = kBufferSize; |
| 84 for (size_t j = 0; j < kBufferSize; j += kWriteSize) { |
| 93 // Read. | 85 // Read. |
| 94 EXPECT_EQ(kReadSize, buffer_->Read(kReadSize, write_buffer_.get())); | 86 EXPECT_EQ(kReadSize, buffer_.Read(kReadSize, write_buffer_)); |
| 95 forward_bytes -= kReadSize; | 87 forward_bytes -= kReadSize; |
| 96 EXPECT_EQ(forward_bytes, buffer_->forward_bytes()); | 88 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); |
| 97 EXPECT_EQ(0, memcmp(write_buffer_.get(), | 89 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize)); |
| 98 data_.get() + read_position, | |
| 99 kReadSize)); | |
| 100 read_position += kReadSize; | 90 read_position += kReadSize; |
| 101 | 91 |
| 102 // Seek forward. | 92 // Seek forward. |
| 103 EXPECT_TRUE(buffer_->Seek(2 * kReadSize)); | 93 EXPECT_TRUE(buffer_.Seek(2 * kReadSize)); |
| 104 forward_bytes -= 2 * kReadSize; | 94 forward_bytes -= 2 * kReadSize; |
| 105 read_position += 2 * kReadSize; | 95 read_position += 2 * kReadSize; |
| 106 EXPECT_EQ(forward_bytes, buffer_->forward_bytes()); | 96 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); |
| 107 | 97 |
| 108 // Read. | 98 // Read. |
| 109 EXPECT_EQ(kReadSize, buffer_->Read(kReadSize, write_buffer_.get())); | 99 EXPECT_EQ(kReadSize, buffer_.Read(kReadSize, write_buffer_)); |
| 110 forward_bytes -= kReadSize; | 100 forward_bytes -= kReadSize; |
| 111 EXPECT_EQ(forward_bytes, buffer_->forward_bytes()); | 101 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); |
| 112 EXPECT_EQ(0, memcmp(write_buffer_.get(), | 102 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize)); |
| 113 data_.get() + read_position, | |
| 114 kReadSize)); | |
| 115 read_position += kReadSize; | 103 read_position += kReadSize; |
| 116 | 104 |
| 117 // Seek backward. | 105 // Seek backward. |
| 118 EXPECT_TRUE(buffer_->Seek(-3 * static_cast<int32>(kReadSize))); | 106 EXPECT_TRUE(buffer_.Seek(-3 * static_cast<int32>(kReadSize))); |
| 119 forward_bytes += 3 * kReadSize; | 107 forward_bytes += 3 * kReadSize; |
| 120 read_position -= 3 * kReadSize; | 108 read_position -= 3 * kReadSize; |
| 121 EXPECT_EQ(forward_bytes, buffer_->forward_bytes()); | 109 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); |
| 122 | 110 |
| 123 // Read. | 111 // Read. |
| 124 EXPECT_EQ(kReadSize, buffer_->Read(kReadSize, write_buffer_.get())); | 112 EXPECT_EQ(kReadSize, buffer_.Read(kReadSize, write_buffer_)); |
| 125 forward_bytes -= kReadSize; | 113 forward_bytes -= kReadSize; |
| 126 EXPECT_EQ(forward_bytes, buffer_->forward_bytes()); | 114 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); |
| 127 EXPECT_EQ(0, memcmp(write_buffer_.get(), | 115 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize)); |
| 128 data_.get() + read_position, | |
| 129 kReadSize)); | |
| 130 read_position += kReadSize; | 116 read_position += kReadSize; |
| 131 | 117 |
| 132 // Read. | 118 // Read. |
| 133 EXPECT_EQ(kReadSize, buffer_->Read(kReadSize, write_buffer_.get())); | 119 EXPECT_EQ(kReadSize, buffer_.Read(kReadSize, write_buffer_)); |
| 134 forward_bytes -= kReadSize; | 120 forward_bytes -= kReadSize; |
| 135 EXPECT_EQ(forward_bytes, buffer_->forward_bytes()); | 121 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); |
| 136 EXPECT_EQ(0, memcmp(write_buffer_.get(), | 122 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize)); |
| 137 data_.get() + read_position, | |
| 138 kReadSize)); | |
| 139 read_position += kReadSize; | 123 read_position += kReadSize; |
| 140 | 124 |
| 141 // Seek forward. | 125 // Seek forward. |
| 142 EXPECT_TRUE(buffer_->Seek(kReadSize)); | 126 EXPECT_TRUE(buffer_.Seek(kReadSize)); |
| 143 forward_bytes -= kReadSize; | 127 forward_bytes -= kReadSize; |
| 144 read_position += kReadSize; | 128 read_position += kReadSize; |
| 145 EXPECT_EQ(forward_bytes, buffer_->forward_bytes()); | 129 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); |
| 146 } | 130 } |
| 147 } | 131 } |
| 148 } | 132 } |
| 149 | 133 |
| 150 TEST_F(SeekableBufferTest, BufferFull) { | 134 TEST_F(SeekableBufferTest, BufferFull) { |
| 151 const size_t kWriteSize = 512; | 135 const size_t kMaxWriteSize = 2 * kBufferSize; |
| 152 | 136 |
| 153 // Write and expect the buffer to be not full. | 137 // Write and expect the buffer to be not full. |
| 154 size_t write_position = 0; | 138 for (size_t i = 0; i < kBufferSize - kWriteSize; i += kWriteSize) { |
| 155 for (size_t i = 0; i < kBufferSize / kWriteSize - 1; ++i) { | 139 EXPECT_TRUE(buffer_.Append(kWriteSize, data_ + i)); |
| 156 EXPECT_TRUE(buffer_->Append(kWriteSize, data_.get() + write_position)); | 140 EXPECT_EQ(i + kWriteSize, buffer_.forward_bytes()); |
| 157 write_position += kWriteSize; | |
| 158 EXPECT_EQ(write_position, buffer_->forward_bytes()); | |
| 159 } | 141 } |
| 160 | 142 |
| 161 // Write 10 more times, the buffer is full. | 143 // Write until we have kMaxWriteSize bytes in the buffer. Buffer is full in |
| 162 for (int i = 0; i < 10; ++i) { | 144 // these writes. |
| 163 EXPECT_FALSE(buffer_->Append(kWriteSize, data_.get() + write_position)); | 145 for (size_t i = buffer_.forward_bytes(); i < kMaxWriteSize; i += kWriteSize) { |
| 164 write_position += kWriteSize; | 146 EXPECT_FALSE(buffer_.Append(kWriteSize, data_ + i)); |
| 165 EXPECT_EQ(write_position, buffer_->forward_bytes()); | 147 EXPECT_EQ(i + kWriteSize, buffer_.forward_bytes()); |
| 166 } | 148 } |
| 167 | 149 |
| 168 // Read until the buffer is empty. | 150 // Read until the buffer is empty. |
| 169 size_t read_position = 0; | 151 size_t read_position = 0; |
| 170 while (buffer_->forward_bytes()) { | 152 while (buffer_.forward_bytes()) { |
| 171 // Read a random amount of data. | 153 // Read a random amount of data. |
| 172 size_t read_size = GetRandomInt(kBufferSize); | 154 size_t read_size = GetRandomInt(kBufferSize); |
| 173 size_t forward_bytes = buffer_->forward_bytes(); | 155 size_t forward_bytes = buffer_.forward_bytes(); |
| 174 size_t bytes_read = buffer_->Read(read_size, write_buffer_.get()); | 156 size_t bytes_read = buffer_.Read(read_size, write_buffer_); |
| 175 EXPECT_EQ(0, memcmp(write_buffer_.get(), | 157 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, bytes_read)); |
| 176 data_.get() + read_position, | |
| 177 bytes_read)); | |
| 178 if (read_size > forward_bytes) | 158 if (read_size > forward_bytes) |
| 179 EXPECT_EQ(forward_bytes, bytes_read); | 159 EXPECT_EQ(forward_bytes, bytes_read); |
| 180 else | 160 else |
| 181 EXPECT_EQ(read_size, bytes_read); | 161 EXPECT_EQ(read_size, bytes_read); |
| 182 read_position += bytes_read; | 162 read_position += bytes_read; |
| 183 EXPECT_GE(write_position, read_position); | 163 EXPECT_GE(kMaxWriteSize, read_position); |
| 184 EXPECT_EQ(write_position - read_position, buffer_->forward_bytes()); | 164 EXPECT_EQ(kMaxWriteSize - read_position, buffer_.forward_bytes()); |
| 185 } | 165 } |
| 186 | 166 |
| 187 // Expect we have no bytes left. | 167 // Expects we have no bytes left. |
| 188 EXPECT_EQ(0u, buffer_->forward_bytes()); | 168 EXPECT_EQ(0u, buffer_.forward_bytes()); |
| 189 EXPECT_EQ(0u, buffer_->Read(1, write_buffer_.get())); | 169 EXPECT_EQ(0u, buffer_.Read(1, write_buffer_)); |
| 190 } | 170 } |
| 191 | 171 |
| 192 TEST_F(SeekableBufferTest, SeekBackward) { | 172 TEST_F(SeekableBufferTest, SeekBackward) { |
| 193 EXPECT_EQ(0u, buffer_->forward_bytes()); | 173 EXPECT_EQ(0u, buffer_.forward_bytes()); |
| 194 EXPECT_EQ(0u, buffer_->backward_bytes()); | 174 EXPECT_EQ(0u, buffer_.backward_bytes()); |
| 195 EXPECT_FALSE(buffer_->Seek(1)); | 175 EXPECT_FALSE(buffer_.Seek(1)); |
| 196 EXPECT_FALSE(buffer_->Seek(-1)); | 176 EXPECT_FALSE(buffer_.Seek(-1)); |
| 197 | 177 |
| 198 const size_t kWriteSize = 512; | |
| 199 const size_t kReadSize = 256; | 178 const size_t kReadSize = 256; |
| 200 | 179 |
| 201 // Write into buffer until it's full. | 180 // Write into buffer until it's full. |
| 202 size_t write_position = 0; | 181 for (size_t i = 0; i < kBufferSize; i += kWriteSize) { |
| 203 for (size_t i = 0; i < kBufferSize / kWriteSize; ++i) { | |
| 204 // Write a random amount of data. | 182 // Write a random amount of data. |
| 205 buffer_->Append(kWriteSize, data_.get() + write_position); | 183 buffer_.Append(kWriteSize, data_ + i); |
| 206 write_position += kWriteSize; | |
| 207 } | 184 } |
| 208 | 185 |
| 209 // Read until buffer is empty. | 186 // Read until buffer is empty. |
| 210 size_t read_position = 0; | 187 for (size_t i = 0; i < kBufferSize; i += kReadSize) { |
| 211 for (size_t i = 0; i < kBufferSize / kReadSize; ++i) { | 188 EXPECT_EQ(kReadSize, buffer_.Read(kReadSize, write_buffer_)); |
| 212 EXPECT_EQ(kReadSize, buffer_->Read(kReadSize, write_buffer_.get())); | 189 EXPECT_EQ(0, memcmp(write_buffer_, data_ + i, kReadSize)); |
| 213 EXPECT_EQ(0, memcmp(write_buffer_.get(), | |
| 214 data_.get() + read_position, | |
| 215 kReadSize)); | |
| 216 read_position += kReadSize; | |
| 217 } | 190 } |
| 218 | 191 |
| 219 // Seek backward. | 192 // Seek backward. |
| 220 EXPECT_TRUE(buffer_->Seek(-static_cast<int32>(kBufferSize))); | 193 EXPECT_TRUE(buffer_.Seek(-static_cast<int32>(kBufferSize))); |
| 221 EXPECT_FALSE(buffer_->Seek(-1)); | 194 EXPECT_FALSE(buffer_.Seek(-1)); |
| 222 | 195 |
| 223 // Read again. | 196 // Read again. |
| 224 read_position = 0; | 197 for (size_t i = 0; i < kBufferSize; i += kReadSize) { |
| 225 for (size_t i = 0; i < kBufferSize / kReadSize; ++i) { | 198 EXPECT_EQ(kReadSize, buffer_.Read(kReadSize, write_buffer_)); |
| 226 EXPECT_EQ(kReadSize, buffer_->Read(kReadSize, write_buffer_.get())); | 199 EXPECT_EQ(0, memcmp(write_buffer_, data_ + i, kReadSize)); |
| 227 EXPECT_EQ(0, memcmp(write_buffer_.get(), | |
| 228 data_.get() + read_position, | |
| 229 kReadSize)); | |
| 230 read_position += kReadSize; | |
| 231 } | 200 } |
| 232 } | 201 } |
| 233 | 202 |
| 234 TEST_F(SeekableBufferTest, SeekForward) { | 203 TEST_F(SeekableBufferTest, SeekForward) { |
| 235 size_t write_position = 0; | 204 size_t write_position = 0; |
| 236 size_t read_position = 0; | 205 size_t read_position = 0; |
| 237 while (read_position < kDataSize) { | 206 while (read_position < kDataSize) { |
| 238 for (int i = 0; i < 10; ++i) { | 207 for (int i = 0; i < 10 && write_position < kDataSize; ++i) { |
| 239 // Write a random amount of data. | 208 // Write a random amount of data. |
| 240 size_t write_size = GetRandomInt(kBufferSize); | 209 size_t write_size = GetRandomInt(kBufferSize); |
| 241 write_size = std::min(write_size, kDataSize - write_position); | 210 write_size = std::min(write_size, kDataSize - write_position); |
| 242 if (!write_size) | 211 |
| 243 break; | 212 bool should_append = buffer_.Append(write_size, data_ + write_position); |
| 244 bool should_append = | |
| 245 buffer_->Append(write_size, data_.get() + write_position); | |
| 246 write_position += write_size; | 213 write_position += write_size; |
| 247 EXPECT_GE(write_position, read_position); | 214 EXPECT_GE(write_position, read_position); |
| 248 EXPECT_EQ(write_position - read_position, buffer_->forward_bytes()); | 215 EXPECT_EQ(write_position - read_position, buffer_.forward_bytes()); |
| 249 EXPECT_EQ(should_append, buffer_->forward_bytes() < kBufferSize) | 216 EXPECT_EQ(should_append, buffer_.forward_bytes() < kBufferSize) |
| 250 << "Incorrect buffer full status reported"; | 217 << "Incorrect buffer full status reported"; |
| 251 } | 218 } |
| 252 | 219 |
| 253 // Read a random amount of data. | 220 // Read a random amount of data. |
| 254 size_t seek_size = GetRandomInt(kBufferSize); | 221 size_t seek_size = GetRandomInt(kBufferSize); |
| 255 if (buffer_->Seek(seek_size)) | 222 if (buffer_.Seek(seek_size)) |
| 256 read_position += seek_size; | 223 read_position += seek_size; |
| 257 EXPECT_GE(write_position, read_position); | 224 EXPECT_GE(write_position, read_position); |
| 258 EXPECT_EQ(write_position - read_position, buffer_->forward_bytes()); | 225 EXPECT_EQ(write_position - read_position, buffer_.forward_bytes()); |
| 259 | 226 |
| 260 // Read a random amount of data. | 227 // Read a random amount of data. |
| 261 size_t read_size = GetRandomInt(kBufferSize); | 228 size_t read_size = GetRandomInt(kBufferSize); |
| 262 size_t bytes_read = buffer_->Read(read_size, write_buffer_.get()); | 229 size_t bytes_read = buffer_.Read(read_size, write_buffer_); |
| 263 EXPECT_GE(read_size, bytes_read); | 230 EXPECT_GE(read_size, bytes_read); |
| 264 EXPECT_EQ(0, memcmp(write_buffer_.get(), | 231 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, bytes_read)); |
| 265 data_.get() + read_position, | |
| 266 bytes_read)); | |
| 267 read_position += bytes_read; | 232 read_position += bytes_read; |
| 268 EXPECT_GE(write_position, read_position); | 233 EXPECT_GE(write_position, read_position); |
| 269 EXPECT_EQ(write_position - read_position, buffer_->forward_bytes()); | 234 EXPECT_EQ(write_position - read_position, buffer_.forward_bytes()); |
| 270 } | 235 } |
| 271 } | 236 } |
| 272 | 237 |
| 273 TEST_F(SeekableBufferTest, AllMethods) { | 238 TEST_F(SeekableBufferTest, AllMethods) { |
| 274 EXPECT_EQ(0u, buffer_->Read(0, write_buffer_.get())); | 239 EXPECT_EQ(0u, buffer_.Read(0, write_buffer_)); |
| 275 EXPECT_EQ(0u, buffer_->Read(1, write_buffer_.get())); | 240 EXPECT_EQ(0u, buffer_.Read(1, write_buffer_)); |
| 276 EXPECT_TRUE(buffer_->Seek(0)); | 241 EXPECT_TRUE(buffer_.Seek(0)); |
| 277 EXPECT_FALSE(buffer_->Seek(-1)); | 242 EXPECT_FALSE(buffer_.Seek(-1)); |
| 278 EXPECT_FALSE(buffer_->Seek(1)); | 243 EXPECT_FALSE(buffer_.Seek(1)); |
| 279 EXPECT_EQ(0u, buffer_->forward_bytes()); | 244 EXPECT_EQ(0u, buffer_.forward_bytes()); |
| 280 EXPECT_EQ(0u, buffer_->backward_bytes()); | 245 EXPECT_EQ(0u, buffer_.backward_bytes()); |
| 281 } | 246 } |
| 282 | 247 |
| 283 } | 248 } // namespace |
| OLD | NEW |