OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/string_util.h" | 5 #include "base/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 using media::DataBuffer; | 9 using media::DataBuffer; |
10 | 10 |
11 TEST(DataBufferTest, Basic) { | 11 TEST(DataBufferTest, Basic) { |
12 const size_t kBufferSize = 32; | 12 const size_t kBufferSize = 32; |
13 const char kData[] = "hello"; | 13 const char kData[] = "hello"; |
14 const size_t kDataSize = arraysize(kData); | 14 const size_t kDataSize = arraysize(kData); |
15 const char kNewData[] = "chromium"; | 15 const char kNewData[] = "chromium"; |
16 const size_t kNewDataSize = arraysize(kNewData); | 16 const size_t kNewDataSize = arraysize(kNewData); |
| 17 const base::TimeDelta kTimestampA = base::TimeDelta::FromMicroseconds(1337); |
| 18 const base::TimeDelta kDurationA = base::TimeDelta::FromMicroseconds(1667); |
| 19 const base::TimeDelta kTimestampB = base::TimeDelta::FromMicroseconds(1234); |
| 20 const base::TimeDelta kDurationB = base::TimeDelta::FromMicroseconds(5678); |
17 | 21 |
18 // Create our buffer and copy some data into it. | 22 // Create our buffer and copy some data into it. |
19 char* data = new char[kBufferSize]; | 23 char* data = new char[kBufferSize]; |
20 ASSERT_TRUE(data); | 24 ASSERT_TRUE(data); |
21 size_t copied = base::strlcpy(data, kData, kBufferSize); | 25 size_t copied = base::strlcpy(data, kData, kBufferSize); |
22 EXPECT_EQ(kDataSize, copied + 1); | 26 EXPECT_EQ(kDataSize, copied + 1); |
23 | 27 |
24 // Create a DataBuffer. | 28 // Create a DataBuffer. |
25 scoped_refptr<DataBuffer> buffer; | 29 scoped_refptr<DataBuffer> buffer; |
26 buffer = new DataBuffer(data, kBufferSize, kDataSize, 1337, 1667); | 30 buffer = new DataBuffer(data, kBufferSize, kDataSize, |
| 31 kTimestampA, kDurationA); |
27 ASSERT_TRUE(buffer.get()); | 32 ASSERT_TRUE(buffer.get()); |
28 | 33 |
29 // Test StreamSample implementation. | 34 // Test StreamSample implementation. |
30 EXPECT_EQ(1337, buffer->GetTimestamp()); | 35 EXPECT_TRUE(kTimestampA == buffer->GetTimestamp()); |
31 EXPECT_EQ(1667, buffer->GetDuration()); | 36 EXPECT_TRUE(kDurationA == buffer->GetDuration()); |
32 buffer->SetTimestamp(1234); | 37 buffer->SetTimestamp(kTimestampB); |
33 buffer->SetDuration(5678); | 38 buffer->SetDuration(kDurationB); |
34 EXPECT_EQ(1234, buffer->GetTimestamp()); | 39 EXPECT_TRUE(kTimestampB == buffer->GetTimestamp()); |
35 EXPECT_EQ(5678, buffer->GetDuration()); | 40 EXPECT_TRUE(kDurationB == buffer->GetDuration()); |
36 | 41 |
37 // Test Buffer implementation. | 42 // Test Buffer implementation. |
38 ASSERT_EQ(data, buffer->GetData()); | 43 ASSERT_EQ(data, buffer->GetData()); |
39 EXPECT_EQ(kDataSize, buffer->GetDataSize()); | 44 EXPECT_EQ(kDataSize, buffer->GetDataSize()); |
40 EXPECT_STREQ(kData, buffer->GetData()); | 45 EXPECT_STREQ(kData, buffer->GetData()); |
41 | 46 |
42 // Test WritableBuffer implementation. | 47 // Test WritableBuffer implementation. |
43 ASSERT_EQ(data, buffer->GetWritableData()); | 48 ASSERT_EQ(data, buffer->GetWritableData()); |
44 EXPECT_EQ(kBufferSize, buffer->GetBufferSize()); | 49 EXPECT_EQ(kBufferSize, buffer->GetBufferSize()); |
45 copied = base::strlcpy(data, kNewData, kBufferSize); | 50 copied = base::strlcpy(data, kNewData, kBufferSize); |
46 EXPECT_EQ(kNewDataSize, copied + 1); | 51 EXPECT_EQ(kNewDataSize, copied + 1); |
47 buffer->SetDataSize(kNewDataSize); | 52 buffer->SetDataSize(kNewDataSize); |
48 EXPECT_EQ(kNewDataSize, buffer->GetDataSize()); | 53 EXPECT_EQ(kNewDataSize, buffer->GetDataSize()); |
49 } | 54 } |
OLD | NEW |