Index: media/base/decoder_buffer_queue_unittest.cc |
diff --git a/media/base/decoder_buffer_queue_unittest.cc b/media/base/decoder_buffer_queue_unittest.cc |
index 32e62db06b1dc79a0efbf9e69f337a88b435c643..6453b44dc41910f655041091e61119519c6cff4f 100644 |
--- a/media/base/decoder_buffer_queue_unittest.cc |
+++ b/media/base/decoder_buffer_queue_unittest.cc |
@@ -18,8 +18,8 @@ static base::TimeDelta ToTimeDelta(int seconds) { |
// Helper to create buffers with specified timestamp in seconds. |
// |
// Negative numbers will be converted to kNoTimestamp(); |
-static scoped_refptr<DecoderBuffer> CreateBuffer(int timestamp) { |
- scoped_refptr<DecoderBuffer> buffer = new DecoderBuffer(0); |
+static scoped_refptr<DecoderBuffer> CreateBuffer(int timestamp, int size = 0) { |
DaleCurtis
2014/02/19 18:59:25
We don't use defaults in Chromium code.
damienv1
2014/02/19 20:24:33
Done.
|
+ scoped_refptr<DecoderBuffer> buffer = new DecoderBuffer(size); |
buffer->set_timestamp(ToTimeDelta(timestamp)); |
buffer->set_duration(ToTimeDelta(0)); |
return buffer; |
@@ -135,4 +135,28 @@ TEST(DecoderBufferQueueTest, Duration_NoTimestamp) { |
EXPECT_EQ(0, queue.Duration().InSeconds()); |
} |
+TEST(DecoderBufferQueueTest, DataSize) { |
+ DecoderBufferQueue queue; |
+ EXPECT_EQ(queue.data_size(), 0); |
+ |
+ queue.Push(CreateBuffer(0, 1200)); |
+ EXPECT_EQ(queue.data_size(), 1200); |
+ |
+ queue.Push(CreateBuffer(1, 1000)); |
+ EXPECT_EQ(queue.data_size(), 2200); |
+ |
+ queue.Pop(); |
+ EXPECT_EQ(queue.data_size(), 1000); |
+ |
+ queue.Push(CreateBuffer(2, 999)); |
+ queue.Push(CreateBuffer(3, 999)); |
+ EXPECT_EQ(queue.data_size(), 2998); |
+ |
+ queue.Clear(); |
+ EXPECT_EQ(queue.data_size(), 0); |
+ |
+ queue.Push(CreateBuffer(4, 1400)); |
+ EXPECT_EQ(queue.data_size(), 1400); |
+} |
+ |
} // namespace media |