OLD | NEW |
1 // Copyright (c) 2008-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2008-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/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, StreamSampleImpl) { | 11 TEST(DataBufferTest, StreamSampleImpl) { |
12 const base::TimeDelta kTimestampA = base::TimeDelta::FromMicroseconds(1337); | 12 const base::TimeDelta kTimestampA = base::TimeDelta::FromMicroseconds(1337); |
13 const base::TimeDelta kDurationA = base::TimeDelta::FromMicroseconds(1667); | 13 const base::TimeDelta kDurationA = base::TimeDelta::FromMicroseconds(1667); |
14 const base::TimeDelta kTimestampB = base::TimeDelta::FromMicroseconds(1234); | 14 const base::TimeDelta kTimestampB = base::TimeDelta::FromMicroseconds(1234); |
15 const base::TimeDelta kDurationB = base::TimeDelta::FromMicroseconds(5678); | 15 const base::TimeDelta kDurationB = base::TimeDelta::FromMicroseconds(5678); |
16 | 16 |
17 // Create a DataBuffer. | 17 // Create a DataBuffer. |
18 scoped_refptr<DataBuffer> buffer = new DataBuffer(0); | 18 scoped_refptr<DataBuffer> buffer(new DataBuffer(0)); |
19 ASSERT_TRUE(buffer); | 19 ASSERT_TRUE(buffer); |
20 | 20 |
21 buffer->SetTimestamp(kTimestampA); | 21 buffer->SetTimestamp(kTimestampA); |
22 buffer->SetDuration(kDurationA); | 22 buffer->SetDuration(kDurationA); |
23 EXPECT_TRUE(kTimestampA == buffer->GetTimestamp()); | 23 EXPECT_TRUE(kTimestampA == buffer->GetTimestamp()); |
24 EXPECT_TRUE(kDurationA == buffer->GetDuration()); | 24 EXPECT_TRUE(kDurationA == buffer->GetDuration()); |
25 EXPECT_TRUE(buffer->IsEndOfStream()); | 25 EXPECT_TRUE(buffer->IsEndOfStream()); |
26 EXPECT_FALSE(buffer->IsDiscontinuous()); | 26 EXPECT_FALSE(buffer->IsDiscontinuous()); |
27 buffer->SetTimestamp(kTimestampB); | 27 buffer->SetTimestamp(kTimestampB); |
28 buffer->SetDuration(kDurationB); | 28 buffer->SetDuration(kDurationB); |
29 EXPECT_TRUE(kTimestampB == buffer->GetTimestamp()); | 29 EXPECT_TRUE(kTimestampB == buffer->GetTimestamp()); |
30 EXPECT_TRUE(kDurationB == buffer->GetDuration()); | 30 EXPECT_TRUE(kDurationB == buffer->GetDuration()); |
31 | 31 |
32 buffer->SetDiscontinuous(true); | 32 buffer->SetDiscontinuous(true); |
33 EXPECT_TRUE(buffer->IsDiscontinuous()); | 33 EXPECT_TRUE(buffer->IsDiscontinuous()); |
34 buffer->SetDiscontinuous(false); | 34 buffer->SetDiscontinuous(false); |
35 EXPECT_FALSE(buffer->IsDiscontinuous()); | 35 EXPECT_FALSE(buffer->IsDiscontinuous()); |
36 } | 36 } |
37 | 37 |
38 TEST(DataBufferTest, Ctors) { | 38 TEST(DataBufferTest, Ctors) { |
39 const size_t kTestSize = 10; | 39 const size_t kTestSize = 10; |
40 | 40 |
41 scoped_refptr<DataBuffer> buffer = new DataBuffer(0); | 41 scoped_refptr<DataBuffer> buffer(new DataBuffer(0)); |
42 EXPECT_FALSE(buffer->GetData()); | 42 EXPECT_FALSE(buffer->GetData()); |
43 | 43 |
44 scoped_refptr<DataBuffer> buffer2 = new DataBuffer(kTestSize); | 44 scoped_refptr<DataBuffer> buffer2(new DataBuffer(kTestSize)); |
45 EXPECT_EQ(0u, buffer2->GetDataSize()); | 45 EXPECT_EQ(0u, buffer2->GetDataSize()); |
46 EXPECT_EQ(kTestSize, buffer2->GetBufferSize()); | 46 EXPECT_EQ(kTestSize, buffer2->GetBufferSize()); |
47 } | 47 } |
48 | 48 |
49 TEST(DataBufferTest, WritableBufferImpl) { | 49 TEST(DataBufferTest, WritableBufferImpl) { |
50 const char kData[] = "hello"; | 50 const char kData[] = "hello"; |
51 const size_t kDataSize = arraysize(kData); | 51 const size_t kDataSize = arraysize(kData); |
52 const char kNewData[] = "chromium"; | 52 const char kNewData[] = "chromium"; |
53 const size_t kNewDataSize = arraysize(kNewData); | 53 const size_t kNewDataSize = arraysize(kNewData); |
54 | 54 |
55 // Create a DataBuffer. | 55 // Create a DataBuffer. |
56 scoped_refptr<DataBuffer> buffer = new DataBuffer(kDataSize); | 56 scoped_refptr<DataBuffer> buffer(new DataBuffer(kDataSize)); |
57 ASSERT_TRUE(buffer); | 57 ASSERT_TRUE(buffer); |
58 | 58 |
59 uint8* data = buffer->GetWritableData(); | 59 uint8* data = buffer->GetWritableData(); |
60 ASSERT_TRUE(data); | 60 ASSERT_TRUE(data); |
61 ASSERT_EQ(kDataSize, buffer->GetBufferSize()); | 61 ASSERT_EQ(kDataSize, buffer->GetBufferSize()); |
62 memcpy(data, kData, kDataSize); | 62 memcpy(data, kData, kDataSize); |
63 buffer->SetDataSize(kDataSize); | 63 buffer->SetDataSize(kDataSize); |
64 const uint8* read_only_data = buffer->GetData(); | 64 const uint8* read_only_data = buffer->GetData(); |
65 ASSERT_EQ(data, read_only_data); | 65 ASSERT_EQ(data, read_only_data); |
66 ASSERT_EQ(0, memcmp(read_only_data, kData, kDataSize)); | 66 ASSERT_EQ(0, memcmp(read_only_data, kData, kDataSize)); |
67 EXPECT_FALSE(buffer->IsEndOfStream()); | 67 EXPECT_FALSE(buffer->IsEndOfStream()); |
68 | 68 |
69 scoped_refptr<DataBuffer> buffer2 = new DataBuffer(kNewDataSize + 10); | 69 scoped_refptr<DataBuffer> buffer2(new DataBuffer(kNewDataSize + 10)); |
70 data = buffer2->GetWritableData(); | 70 data = buffer2->GetWritableData(); |
71 ASSERT_TRUE(data); | 71 ASSERT_TRUE(data); |
72 ASSERT_EQ(kNewDataSize + 10, buffer2->GetBufferSize()); | 72 ASSERT_EQ(kNewDataSize + 10, buffer2->GetBufferSize()); |
73 memcpy(data, kNewData, kNewDataSize); | 73 memcpy(data, kNewData, kNewDataSize); |
74 buffer2->SetDataSize(kNewDataSize); | 74 buffer2->SetDataSize(kNewDataSize); |
75 read_only_data = buffer2->GetData(); | 75 read_only_data = buffer2->GetData(); |
76 EXPECT_EQ(kNewDataSize, buffer2->GetDataSize()); | 76 EXPECT_EQ(kNewDataSize, buffer2->GetDataSize()); |
77 ASSERT_EQ(data, read_only_data); | 77 ASSERT_EQ(data, read_only_data); |
78 EXPECT_EQ(0, memcmp(read_only_data, kNewData, kNewDataSize)); | 78 EXPECT_EQ(0, memcmp(read_only_data, kNewData, kNewDataSize)); |
79 } | 79 } |
OLD | NEW |