Chromium Code Reviews| 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 "base/strings/string_util.h" | 5 #include "base/strings/string_util.h" |
| 6 #include "media/base/data_buffer.h" | 6 #include "media/base/data_buffer.h" |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 | 8 |
| 9 namespace media { | 9 namespace media { |
| 10 | 10 |
| 11 TEST(DataBufferTest, Constructor_ZeroSize) { | 11 TEST(DataBufferTest, Constructor_ZeroSize) { |
| 12 // Zero-sized buffers are valid. In practice they aren't used very much but it | 12 // Zero-sized buffers are valid. In practice they aren't used very much but it |
| 13 // eliminates clients from worrying about null data pointers. | 13 // eliminates clients from worrying about null data pointers. |
| 14 scoped_refptr<DataBuffer> buffer = new DataBuffer(0); | 14 scoped_refptr<DataBuffer> buffer = new DataBuffer(0); |
| 15 EXPECT_TRUE(buffer->GetData()); | 15 EXPECT_TRUE(buffer->get_data()); |
| 16 EXPECT_TRUE(buffer->GetWritableData()); | 16 EXPECT_TRUE(buffer->get_writable_data()); |
| 17 EXPECT_EQ(0, buffer->GetDataSize()); | 17 EXPECT_EQ(0, buffer->get_data_size()); |
| 18 EXPECT_FALSE(buffer->IsEndOfStream()); | 18 EXPECT_FALSE(buffer->is_end_of_stream()); |
| 19 } | 19 } |
| 20 | 20 |
| 21 TEST(DataBufferTest, Constructor_NonZeroSize) { | 21 TEST(DataBufferTest, Constructor_NonZeroSize) { |
| 22 // Buffer size should be set. | 22 // Buffer size should be set. |
| 23 scoped_refptr<DataBuffer> buffer = new DataBuffer(10); | 23 scoped_refptr<DataBuffer> buffer = new DataBuffer(10); |
| 24 EXPECT_TRUE(buffer->GetData()); | 24 EXPECT_TRUE(buffer->get_data()); |
| 25 EXPECT_TRUE(buffer->GetWritableData()); | 25 EXPECT_TRUE(buffer->get_writable_data()); |
| 26 EXPECT_EQ(0, buffer->GetDataSize()); | 26 EXPECT_EQ(0, buffer->get_data_size()); |
| 27 EXPECT_FALSE(buffer->IsEndOfStream()); | 27 EXPECT_FALSE(buffer->is_end_of_stream()); |
| 28 } | 28 } |
| 29 | 29 |
| 30 TEST(DataBufferTest, Constructor_ScopedArray) { | 30 TEST(DataBufferTest, Constructor_ScopedArray) { |
| 31 // Data should be passed and both data and buffer size should be set. | 31 // Data should be passed and both data and buffer size should be set. |
| 32 const int kSize = 8; | 32 const int kSize = 8; |
| 33 scoped_ptr<uint8[]> data(new uint8[kSize]); | 33 scoped_ptr<uint8[]> data(new uint8[kSize]); |
| 34 const uint8* kData = data.get(); | 34 const uint8* kData = data.get(); |
| 35 | 35 |
| 36 scoped_refptr<DataBuffer> buffer = new DataBuffer(data.Pass(), kSize); | 36 scoped_refptr<DataBuffer> buffer = new DataBuffer(data.Pass(), kSize); |
| 37 EXPECT_TRUE(buffer->GetData()); | 37 EXPECT_TRUE(buffer->get_data()); |
| 38 EXPECT_TRUE(buffer->GetWritableData()); | 38 EXPECT_TRUE(buffer->get_writable_data()); |
| 39 EXPECT_EQ(kData, buffer->GetData()); | 39 EXPECT_EQ(kData, buffer->get_data()); |
| 40 EXPECT_EQ(kSize, buffer->GetDataSize()); | 40 EXPECT_EQ(kSize, buffer->get_data_size()); |
| 41 EXPECT_FALSE(buffer->IsEndOfStream()); | 41 EXPECT_FALSE(buffer->is_end_of_stream()); |
| 42 } | 42 } |
| 43 | 43 |
| 44 TEST(DataBufferTest, CopyFrom) { | 44 TEST(DataBufferTest, copy_from) { |
|
scherkus (not reviewing)
2013/06/20 21:29:13
gtest names are always CamelCase
| |
| 45 const uint8 kTestData[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 }; | 45 const uint8 kTestData[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 }; |
| 46 const int kTestDataSize = arraysize(kTestData); | 46 const int kTestDataSize = arraysize(kTestData); |
| 47 | 47 |
| 48 scoped_refptr<DataBuffer> buffer = | 48 scoped_refptr<DataBuffer> buffer = |
| 49 DataBuffer::CopyFrom(kTestData, kTestDataSize); | 49 DataBuffer::copy_from(kTestData, kTestDataSize); |
| 50 EXPECT_EQ(kTestDataSize, buffer->GetDataSize()); | 50 EXPECT_EQ(kTestDataSize, buffer->get_data_size()); |
| 51 EXPECT_FALSE(buffer->IsEndOfStream()); | 51 EXPECT_FALSE(buffer->is_end_of_stream()); |
| 52 | 52 |
| 53 // Ensure we are copying the data, not just pointing to the original data. | 53 // Ensure we are copying the data, not just pointing to the original data. |
| 54 EXPECT_EQ(0, memcmp(buffer->GetData(), kTestData, kTestDataSize)); | 54 EXPECT_EQ(0, memcmp(buffer->get_data(), kTestData, kTestDataSize)); |
| 55 buffer->GetWritableData()[0] = 0xFF; | 55 buffer->get_writable_data()[0] = 0xFF; |
| 56 EXPECT_NE(0, memcmp(buffer->GetData(), kTestData, kTestDataSize)); | 56 EXPECT_NE(0, memcmp(buffer->get_data(), kTestData, kTestDataSize)); |
| 57 } | 57 } |
| 58 | 58 |
| 59 TEST(DataBufferTest, CreateEOSBuffer) { | 59 TEST(DataBufferTest, create_eos_buffer) { |
| 60 scoped_refptr<DataBuffer> buffer = DataBuffer::CreateEOSBuffer(); | 60 scoped_refptr<DataBuffer> buffer = DataBuffer::create_eos_buffer(); |
| 61 EXPECT_TRUE(buffer->IsEndOfStream()); | 61 EXPECT_TRUE(buffer->is_end_of_stream()); |
| 62 } | 62 } |
| 63 | 63 |
| 64 TEST(DataBufferTest, Timestamp) { | 64 TEST(DataBufferTest, Timestamp) { |
| 65 const base::TimeDelta kZero; | 65 const base::TimeDelta kZero; |
| 66 const base::TimeDelta kTimestampA = base::TimeDelta::FromMicroseconds(1337); | 66 const base::TimeDelta kTimestampA = base::TimeDelta::FromMicroseconds(1337); |
| 67 const base::TimeDelta kTimestampB = base::TimeDelta::FromMicroseconds(1234); | 67 const base::TimeDelta kTimestampB = base::TimeDelta::FromMicroseconds(1234); |
| 68 | 68 |
| 69 scoped_refptr<DataBuffer> buffer = new DataBuffer(0); | 69 scoped_refptr<DataBuffer> buffer = new DataBuffer(0); |
| 70 EXPECT_TRUE(buffer->GetTimestamp() == kZero); | 70 EXPECT_TRUE(buffer->get_timestamp() == kZero); |
| 71 | 71 |
| 72 buffer->SetTimestamp(kTimestampA); | 72 buffer->set_timestamp(kTimestampA); |
| 73 EXPECT_TRUE(buffer->GetTimestamp() == kTimestampA); | 73 EXPECT_TRUE(buffer->get_timestamp() == kTimestampA); |
| 74 | 74 |
| 75 buffer->SetTimestamp(kTimestampB); | 75 buffer->set_timestamp(kTimestampB); |
| 76 EXPECT_TRUE(buffer->GetTimestamp() == kTimestampB); | 76 EXPECT_TRUE(buffer->get_timestamp() == kTimestampB); |
| 77 } | 77 } |
| 78 | 78 |
| 79 TEST(DataBufferTest, Duration) { | 79 TEST(DataBufferTest, Duration) { |
| 80 const base::TimeDelta kZero; | 80 const base::TimeDelta kZero; |
| 81 const base::TimeDelta kDurationA = base::TimeDelta::FromMicroseconds(1337); | 81 const base::TimeDelta kDurationA = base::TimeDelta::FromMicroseconds(1337); |
| 82 const base::TimeDelta kDurationB = base::TimeDelta::FromMicroseconds(1234); | 82 const base::TimeDelta kDurationB = base::TimeDelta::FromMicroseconds(1234); |
| 83 | 83 |
| 84 scoped_refptr<DataBuffer> buffer = new DataBuffer(0); | 84 scoped_refptr<DataBuffer> buffer = new DataBuffer(0); |
| 85 EXPECT_TRUE(buffer->GetDuration() == kZero); | 85 EXPECT_TRUE(buffer->get_duration() == kZero); |
| 86 | 86 |
| 87 buffer->SetDuration(kDurationA); | 87 buffer->set_duration(kDurationA); |
| 88 EXPECT_TRUE(buffer->GetDuration() == kDurationA); | 88 EXPECT_TRUE(buffer->get_duration() == kDurationA); |
| 89 | 89 |
| 90 buffer->SetDuration(kDurationB); | 90 buffer->set_duration(kDurationB); |
| 91 EXPECT_TRUE(buffer->GetDuration() == kDurationB); | 91 EXPECT_TRUE(buffer->get_duration() == kDurationB); |
| 92 } | 92 } |
| 93 | 93 |
| 94 TEST(DataBufferTest, ReadingWriting) { | 94 TEST(DataBufferTest, ReadingWriting) { |
| 95 const char kData[] = "hello"; | 95 const char kData[] = "hello"; |
| 96 const int kDataSize = arraysize(kData); | 96 const int kDataSize = arraysize(kData); |
| 97 const char kNewData[] = "chromium"; | 97 const char kNewData[] = "chromium"; |
| 98 const int kNewDataSize = arraysize(kNewData); | 98 const int kNewDataSize = arraysize(kNewData); |
| 99 | 99 |
| 100 // Create a DataBuffer. | 100 // Create a DataBuffer. |
| 101 scoped_refptr<DataBuffer> buffer(new DataBuffer(kDataSize)); | 101 scoped_refptr<DataBuffer> buffer(new DataBuffer(kDataSize)); |
| 102 ASSERT_TRUE(buffer.get()); | 102 ASSERT_TRUE(buffer.get()); |
| 103 | 103 |
| 104 uint8* data = buffer->GetWritableData(); | 104 uint8* data = buffer->get_writable_data(); |
| 105 ASSERT_TRUE(data); | 105 ASSERT_TRUE(data); |
| 106 memcpy(data, kData, kDataSize); | 106 memcpy(data, kData, kDataSize); |
| 107 buffer->SetDataSize(kDataSize); | 107 buffer->set_data_size(kDataSize); |
| 108 const uint8* read_only_data = buffer->GetData(); | 108 const uint8* read_only_data = buffer->get_data(); |
| 109 ASSERT_EQ(data, read_only_data); | 109 ASSERT_EQ(data, read_only_data); |
| 110 ASSERT_EQ(0, memcmp(read_only_data, kData, kDataSize)); | 110 ASSERT_EQ(0, memcmp(read_only_data, kData, kDataSize)); |
| 111 EXPECT_FALSE(buffer->IsEndOfStream()); | 111 EXPECT_FALSE(buffer->is_end_of_stream()); |
| 112 | 112 |
| 113 scoped_refptr<DataBuffer> buffer2(new DataBuffer(kNewDataSize + 10)); | 113 scoped_refptr<DataBuffer> buffer2(new DataBuffer(kNewDataSize + 10)); |
| 114 data = buffer2->GetWritableData(); | 114 data = buffer2->get_writable_data(); |
| 115 ASSERT_TRUE(data); | 115 ASSERT_TRUE(data); |
| 116 memcpy(data, kNewData, kNewDataSize); | 116 memcpy(data, kNewData, kNewDataSize); |
| 117 buffer2->SetDataSize(kNewDataSize); | 117 buffer2->set_data_size(kNewDataSize); |
| 118 read_only_data = buffer2->GetData(); | 118 read_only_data = buffer2->get_data(); |
| 119 EXPECT_EQ(kNewDataSize, buffer2->GetDataSize()); | 119 EXPECT_EQ(kNewDataSize, buffer2->get_data_size()); |
| 120 ASSERT_EQ(data, read_only_data); | 120 ASSERT_EQ(data, read_only_data); |
| 121 EXPECT_EQ(0, memcmp(read_only_data, kNewData, kNewDataSize)); | 121 EXPECT_EQ(0, memcmp(read_only_data, kNewData, kNewDataSize)); |
| 122 } | 122 } |
| 123 | 123 |
| 124 } // namespace media | 124 } // namespace media |
| OLD | NEW |