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

Side by Side Diff: media/base/seekable_buffer_unittest.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years 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
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 <cstdlib> 5 #include <cstdlib>
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "media/base/data_buffer.h" 10 #include "media/base/data_buffer.h"
(...skipping 23 matching lines...) Expand all
34 // Create random test data samples. 34 // Create random test data samples.
35 for (int i = 0; i < kDataSize; i++) 35 for (int i = 0; i < kDataSize; i++)
36 data_[i] = static_cast<char>(rand()); 36 data_[i] = static_cast<char>(rand());
37 } 37 }
38 38
39 int GetRandomInt(int maximum) { 39 int GetRandomInt(int maximum) {
40 return rand() % (maximum + 1); 40 return rand() % (maximum + 1);
41 } 41 }
42 42
43 SeekableBuffer buffer_; 43 SeekableBuffer buffer_;
44 uint8 data_[kDataSize]; 44 uint8_t data_[kDataSize];
45 uint8 write_buffer_[kDataSize]; 45 uint8_t write_buffer_[kDataSize];
46 }; 46 };
47 47
48 TEST_F(SeekableBufferTest, RandomReadWrite) { 48 TEST_F(SeekableBufferTest, RandomReadWrite) {
49 int write_position = 0; 49 int write_position = 0;
50 int read_position = 0; 50 int read_position = 0;
51 while (read_position < kDataSize) { 51 while (read_position < kDataSize) {
52 // Write a random amount of data. 52 // Write a random amount of data.
53 int write_size = GetRandomInt(kBufferSize); 53 int write_size = GetRandomInt(kBufferSize);
54 write_size = std::min(write_size, kDataSize - write_position); 54 write_size = std::min(write_size, kDataSize - write_position);
55 bool should_append = buffer_.Append(data_ + write_position, write_size); 55 bool should_append = buffer_.Append(data_ + write_position, write_size);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize)); 112 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize));
113 113
114 // Read. 114 // Read.
115 EXPECT_EQ(kReadSize, buffer_.Read(write_buffer_, kReadSize)); 115 EXPECT_EQ(kReadSize, buffer_.Read(write_buffer_, kReadSize));
116 forward_bytes -= kReadSize; 116 forward_bytes -= kReadSize;
117 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); 117 EXPECT_EQ(forward_bytes, buffer_.forward_bytes());
118 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize)); 118 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize));
119 read_position += kReadSize; 119 read_position += kReadSize;
120 120
121 // Seek backward. 121 // Seek backward.
122 EXPECT_TRUE(buffer_.Seek(-3 * static_cast<int32>(kReadSize))); 122 EXPECT_TRUE(buffer_.Seek(-3 * static_cast<int32_t>(kReadSize)));
123 forward_bytes += 3 * kReadSize; 123 forward_bytes += 3 * kReadSize;
124 read_position -= 3 * kReadSize; 124 read_position -= 3 * kReadSize;
125 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); 125 EXPECT_EQ(forward_bytes, buffer_.forward_bytes());
126 126
127 // Copy. 127 // Copy.
128 EXPECT_EQ(kReadSize, buffer_.Peek(write_buffer_, kReadSize)); 128 EXPECT_EQ(kReadSize, buffer_.Peek(write_buffer_, kReadSize));
129 EXPECT_EQ(forward_bytes, buffer_.forward_bytes()); 129 EXPECT_EQ(forward_bytes, buffer_.forward_bytes());
130 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize)); 130 EXPECT_EQ(0, memcmp(write_buffer_, data_ + read_position, kReadSize));
131 131
132 // Read. 132 // Read.
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 buffer_.Append(data_ + i, kWriteSize); 209 buffer_.Append(data_ + i, kWriteSize);
210 } 210 }
211 211
212 // Read until buffer is empty. 212 // Read until buffer is empty.
213 for (int i = 0; i < kBufferSize; i += kReadSize) { 213 for (int i = 0; i < kBufferSize; i += kReadSize) {
214 EXPECT_EQ(kReadSize, buffer_.Read(write_buffer_, kReadSize)); 214 EXPECT_EQ(kReadSize, buffer_.Read(write_buffer_, kReadSize));
215 EXPECT_EQ(0, memcmp(write_buffer_, data_ + i, kReadSize)); 215 EXPECT_EQ(0, memcmp(write_buffer_, data_ + i, kReadSize));
216 } 216 }
217 217
218 // Seek backward. 218 // Seek backward.
219 EXPECT_TRUE(buffer_.Seek(-static_cast<int32>(kBufferSize))); 219 EXPECT_TRUE(buffer_.Seek(-static_cast<int32_t>(kBufferSize)));
220 EXPECT_FALSE(buffer_.Seek(-1)); 220 EXPECT_FALSE(buffer_.Seek(-1));
221 221
222 // Read again. 222 // Read again.
223 for (int i = 0; i < kBufferSize; i += kReadSize) { 223 for (int i = 0; i < kBufferSize; i += kReadSize) {
224 EXPECT_EQ(kReadSize, buffer_.Read(write_buffer_, kReadSize)); 224 EXPECT_EQ(kReadSize, buffer_.Read(write_buffer_, kReadSize));
225 EXPECT_EQ(0, memcmp(write_buffer_, data_ + i, kReadSize)); 225 EXPECT_EQ(0, memcmp(write_buffer_, data_ + i, kReadSize));
226 } 226 }
227 } 227 }
228 228
229 TEST_F(SeekableBufferTest, GetCurrentChunk) { 229 TEST_F(SeekableBufferTest, GetCurrentChunk) {
230 const int kSeekSize = kWriteSize / 3; 230 const int kSeekSize = kWriteSize / 3;
231 231
232 scoped_refptr<DataBuffer> buffer = DataBuffer::CopyFrom(data_, kWriteSize); 232 scoped_refptr<DataBuffer> buffer = DataBuffer::CopyFrom(data_, kWriteSize);
233 233
234 const uint8* data; 234 const uint8_t* data;
235 int size; 235 int size;
236 EXPECT_FALSE(buffer_.GetCurrentChunk(&data, &size)); 236 EXPECT_FALSE(buffer_.GetCurrentChunk(&data, &size));
237 237
238 buffer_.Append(buffer.get()); 238 buffer_.Append(buffer.get());
239 EXPECT_TRUE(buffer_.GetCurrentChunk(&data, &size)); 239 EXPECT_TRUE(buffer_.GetCurrentChunk(&data, &size));
240 EXPECT_EQ(data, buffer->data()); 240 EXPECT_EQ(data, buffer->data());
241 EXPECT_EQ(size, buffer->data_size()); 241 EXPECT_EQ(size, buffer->data_size());
242 242
243 buffer_.Seek(kSeekSize); 243 buffer_.Seek(kSeekSize);
244 EXPECT_TRUE(buffer_.GetCurrentChunk(&data, &size)); 244 EXPECT_TRUE(buffer_.GetCurrentChunk(&data, &size));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 EXPECT_EQ(0, buffer_.Read(write_buffer_, 0)); 285 EXPECT_EQ(0, buffer_.Read(write_buffer_, 0));
286 EXPECT_EQ(0, buffer_.Read(write_buffer_, 1)); 286 EXPECT_EQ(0, buffer_.Read(write_buffer_, 1));
287 EXPECT_TRUE(buffer_.Seek(0)); 287 EXPECT_TRUE(buffer_.Seek(0));
288 EXPECT_FALSE(buffer_.Seek(-1)); 288 EXPECT_FALSE(buffer_.Seek(-1));
289 EXPECT_FALSE(buffer_.Seek(1)); 289 EXPECT_FALSE(buffer_.Seek(1));
290 EXPECT_EQ(0, buffer_.forward_bytes()); 290 EXPECT_EQ(0, buffer_.forward_bytes());
291 EXPECT_EQ(0, buffer_.backward_bytes()); 291 EXPECT_EQ(0, buffer_.backward_bytes());
292 } 292 }
293 293
294 TEST_F(SeekableBufferTest, GetTime) { 294 TEST_F(SeekableBufferTest, GetTime) {
295 const int64 kNoTS = kNoTimestamp().ToInternalValue(); 295 const int64_t kNoTS = kNoTimestamp().ToInternalValue();
296 const struct { 296 const struct {
297 int64 first_time_useconds; 297 int64_t first_time_useconds;
298 int64 duration_useconds; 298 int64_t duration_useconds;
299 int consume_bytes; 299 int consume_bytes;
300 int64 expected_time; 300 int64_t expected_time;
301 } tests[] = { 301 } tests[] = {
302 { kNoTS, 1000000, 0, kNoTS }, 302 { kNoTS, 1000000, 0, kNoTS },
303 { kNoTS, 4000000, 0, kNoTS }, 303 { kNoTS, 4000000, 0, kNoTS },
304 { kNoTS, 8000000, 0, kNoTS }, 304 { kNoTS, 8000000, 0, kNoTS },
305 { kNoTS, 1000000, kWriteSize / 2, kNoTS }, 305 { kNoTS, 1000000, kWriteSize / 2, kNoTS },
306 { kNoTS, 4000000, kWriteSize / 2, kNoTS }, 306 { kNoTS, 4000000, kWriteSize / 2, kNoTS },
307 { kNoTS, 8000000, kWriteSize / 2, kNoTS }, 307 { kNoTS, 8000000, kWriteSize / 2, kNoTS },
308 { kNoTS, 1000000, kWriteSize, kNoTS }, 308 { kNoTS, 1000000, kWriteSize, kNoTS },
309 { kNoTS, 4000000, kWriteSize, kNoTS }, 309 { kNoTS, 4000000, kWriteSize, kNoTS },
310 { kNoTS, 8000000, kWriteSize, kNoTS }, 310 { kNoTS, 8000000, kWriteSize, kNoTS },
(...skipping 24 matching lines...) Expand all
335 scoped_refptr<DataBuffer> buffer = DataBuffer::CopyFrom(data_, kWriteSize); 335 scoped_refptr<DataBuffer> buffer = DataBuffer::CopyFrom(data_, kWriteSize);
336 336
337 for (size_t i = 0; i < arraysize(tests); ++i) { 337 for (size_t i = 0; i < arraysize(tests); ++i) {
338 buffer->set_timestamp(base::TimeDelta::FromMicroseconds( 338 buffer->set_timestamp(base::TimeDelta::FromMicroseconds(
339 tests[i].first_time_useconds)); 339 tests[i].first_time_useconds));
340 buffer->set_duration(base::TimeDelta::FromMicroseconds( 340 buffer->set_duration(base::TimeDelta::FromMicroseconds(
341 tests[i].duration_useconds)); 341 tests[i].duration_useconds));
342 buffer_.Append(buffer.get()); 342 buffer_.Append(buffer.get());
343 EXPECT_TRUE(buffer_.Seek(tests[i].consume_bytes)); 343 EXPECT_TRUE(buffer_.Seek(tests[i].consume_bytes));
344 344
345 int64 actual = buffer_.current_time().ToInternalValue(); 345 int64_t actual = buffer_.current_time().ToInternalValue();
346 346
347 EXPECT_EQ(tests[i].expected_time, actual) << "With test = { start:" 347 EXPECT_EQ(tests[i].expected_time, actual) << "With test = { start:"
348 << tests[i].first_time_useconds << ", duration:" 348 << tests[i].first_time_useconds << ", duration:"
349 << tests[i].duration_useconds << ", consumed:" 349 << tests[i].duration_useconds << ", consumed:"
350 << tests[i].consume_bytes << " }\n"; 350 << tests[i].consume_bytes << " }\n";
351 351
352 buffer_.Clear(); 352 buffer_.Clear();
353 } 353 }
354 } 354 }
355 355
356 } // namespace media 356 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698