| 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 |