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 |
(...skipping 12 matching lines...) Expand all Loading... |
23 scoped_refptr<DataBuffer> buffer = new DataBuffer(10); | 23 scoped_refptr<DataBuffer> buffer = new DataBuffer(10); |
24 EXPECT_TRUE(buffer->data()); | 24 EXPECT_TRUE(buffer->data()); |
25 EXPECT_TRUE(buffer->writable_data()); | 25 EXPECT_TRUE(buffer->writable_data()); |
26 EXPECT_EQ(0, buffer->data_size()); | 26 EXPECT_EQ(0, buffer->data_size()); |
27 EXPECT_FALSE(buffer->end_of_stream()); | 27 EXPECT_FALSE(buffer->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_t[]> data(new uint8_t[kSize]); |
34 const uint8* kData = data.get(); | 34 const uint8_t* 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->data()); | 37 EXPECT_TRUE(buffer->data()); |
38 EXPECT_TRUE(buffer->writable_data()); | 38 EXPECT_TRUE(buffer->writable_data()); |
39 EXPECT_EQ(kData, buffer->data()); | 39 EXPECT_EQ(kData, buffer->data()); |
40 EXPECT_EQ(kSize, buffer->data_size()); | 40 EXPECT_EQ(kSize, buffer->data_size()); |
41 EXPECT_FALSE(buffer->end_of_stream()); | 41 EXPECT_FALSE(buffer->end_of_stream()); |
42 } | 42 } |
43 | 43 |
44 TEST(DataBufferTest, CopyFrom) { | 44 TEST(DataBufferTest, CopyFrom) { |
45 const uint8 kTestData[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 }; | 45 const uint8_t 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::CopyFrom(kTestData, kTestDataSize); |
50 EXPECT_EQ(kTestDataSize, buffer->data_size()); | 50 EXPECT_EQ(kTestDataSize, buffer->data_size()); |
51 EXPECT_FALSE(buffer->end_of_stream()); | 51 EXPECT_FALSE(buffer->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->data(), kTestData, kTestDataSize)); | 54 EXPECT_EQ(0, memcmp(buffer->data(), kTestData, kTestDataSize)); |
55 buffer->writable_data()[0] = 0xFF; | 55 buffer->writable_data()[0] = 0xFF; |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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->writable_data(); | 104 uint8_t* data = buffer->writable_data(); |
105 ASSERT_TRUE(data); | 105 ASSERT_TRUE(data); |
106 memcpy(data, kData, kDataSize); | 106 memcpy(data, kData, kDataSize); |
107 buffer->set_data_size(kDataSize); | 107 buffer->set_data_size(kDataSize); |
108 const uint8* read_only_data = buffer->data(); | 108 const uint8_t* read_only_data = buffer->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->end_of_stream()); | 111 EXPECT_FALSE(buffer->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->writable_data(); | 114 data = buffer2->writable_data(); |
115 ASSERT_TRUE(data); | 115 ASSERT_TRUE(data); |
116 memcpy(data, kNewData, kNewDataSize); | 116 memcpy(data, kNewData, kNewDataSize); |
117 buffer2->set_data_size(kNewDataSize); | 117 buffer2->set_data_size(kNewDataSize); |
118 read_only_data = buffer2->data(); | 118 read_only_data = buffer2->data(); |
119 EXPECT_EQ(kNewDataSize, buffer2->data_size()); | 119 EXPECT_EQ(kNewDataSize, buffer2->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 |