Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(790)

Side by Side Diff: media/base/data_buffer_unittest.cc

Issue 149573: Refactor WritableBuffer interface for more useful ptr management. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/base/data_buffer.cc ('k') | media/filters/audio_renderer_algorithm_default.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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, Basic) { 11 TEST(DataBufferTest, StreamSampleImpl) {
12 const char kData[] = "hello";
13 const size_t kDataSize = arraysize(kData);
14 const char kNewData[] = "chromium";
15 const size_t kNewDataSize = arraysize(kNewData);
16 const base::TimeDelta kTimestampA = base::TimeDelta::FromMicroseconds(1337); 12 const base::TimeDelta kTimestampA = base::TimeDelta::FromMicroseconds(1337);
17 const base::TimeDelta kDurationA = base::TimeDelta::FromMicroseconds(1667); 13 const base::TimeDelta kDurationA = base::TimeDelta::FromMicroseconds(1667);
18 const base::TimeDelta kTimestampB = base::TimeDelta::FromMicroseconds(1234); 14 const base::TimeDelta kTimestampB = base::TimeDelta::FromMicroseconds(1234);
19 const base::TimeDelta kDurationB = base::TimeDelta::FromMicroseconds(5678); 15 const base::TimeDelta kDurationB = base::TimeDelta::FromMicroseconds(5678);
20 16
21 // Create our buffer and copy some data into it.
22 // Create a DataBuffer. 17 // Create a DataBuffer.
23 scoped_refptr<DataBuffer> buffer = new DataBuffer(); 18 scoped_refptr<DataBuffer> buffer = new DataBuffer(0);
24 ASSERT_TRUE(buffer); 19 ASSERT_TRUE(buffer);
25 20
26 // Test StreamSample implementation.
27 buffer->SetTimestamp(kTimestampA); 21 buffer->SetTimestamp(kTimestampA);
28 buffer->SetDuration(kDurationA); 22 buffer->SetDuration(kDurationA);
29 EXPECT_TRUE(kTimestampA == buffer->GetTimestamp()); 23 EXPECT_TRUE(kTimestampA == buffer->GetTimestamp());
30 EXPECT_TRUE(kDurationA == buffer->GetDuration()); 24 EXPECT_TRUE(kDurationA == buffer->GetDuration());
31 EXPECT_TRUE(buffer->IsEndOfStream()); 25 EXPECT_TRUE(buffer->IsEndOfStream());
32 EXPECT_FALSE(buffer->GetData());
33 EXPECT_FALSE(buffer->IsDiscontinuous()); 26 EXPECT_FALSE(buffer->IsDiscontinuous());
34 buffer->SetTimestamp(kTimestampB); 27 buffer->SetTimestamp(kTimestampB);
35 buffer->SetDuration(kDurationB); 28 buffer->SetDuration(kDurationB);
36 EXPECT_TRUE(kTimestampB == buffer->GetTimestamp()); 29 EXPECT_TRUE(kTimestampB == buffer->GetTimestamp());
37 EXPECT_TRUE(kDurationB == buffer->GetDuration()); 30 EXPECT_TRUE(kDurationB == buffer->GetDuration());
38 31
39 buffer->SetDiscontinuous(true); 32 buffer->SetDiscontinuous(true);
40 EXPECT_TRUE(buffer->IsDiscontinuous()); 33 EXPECT_TRUE(buffer->IsDiscontinuous());
41 buffer->SetDiscontinuous(false); 34 buffer->SetDiscontinuous(false);
42 EXPECT_FALSE(buffer->IsDiscontinuous()); 35 EXPECT_FALSE(buffer->IsDiscontinuous());
36 }
43 37
44 // Test WritableBuffer implementation. 38 TEST(DataBufferTest, Ctors) {
39 const size_t kTestSize = 10;
40
41 scoped_refptr<DataBuffer> buffer = new DataBuffer(0);
45 EXPECT_FALSE(buffer->GetData()); 42 EXPECT_FALSE(buffer->GetData());
46 uint8* data = buffer->GetWritableData(kDataSize); 43
44 scoped_refptr<DataBuffer> buffer2 = new DataBuffer(kTestSize);
45 EXPECT_EQ(0u, buffer2->GetDataSize());
46 EXPECT_EQ(kTestSize, buffer2->GetBufferSize());
47 }
48
49 TEST(DataBufferTest, WritableBufferImpl) {
50 const char kData[] = "hello";
51 const size_t kDataSize = arraysize(kData);
52 const char kNewData[] = "chromium";
53 const size_t kNewDataSize = arraysize(kNewData);
54
55 // Create a DataBuffer.
56 scoped_refptr<DataBuffer> buffer = new DataBuffer(kDataSize);
57 ASSERT_TRUE(buffer);
58
59 uint8* data = buffer->GetWritableData();
47 ASSERT_TRUE(data); 60 ASSERT_TRUE(data);
48 ASSERT_EQ(buffer->GetDataSize(), kDataSize); 61 ASSERT_EQ(kDataSize, buffer->GetBufferSize());
49 memcpy(data, kData, kDataSize); 62 memcpy(data, kData, kDataSize);
63 buffer->SetDataSize(kDataSize);
50 const uint8* read_only_data = buffer->GetData(); 64 const uint8* read_only_data = buffer->GetData();
51 ASSERT_EQ(data, read_only_data); 65 ASSERT_EQ(data, read_only_data);
52 ASSERT_EQ(0, memcmp(read_only_data, kData, kDataSize)); 66 ASSERT_EQ(0, memcmp(read_only_data, kData, kDataSize));
53 EXPECT_FALSE(buffer->IsEndOfStream()); 67 EXPECT_FALSE(buffer->IsEndOfStream());
54 68
55 data = buffer->GetWritableData(kNewDataSize + 10); 69 scoped_refptr<DataBuffer> buffer2 = new DataBuffer(kNewDataSize + 10);
70 data = buffer2->GetWritableData();
56 ASSERT_TRUE(data); 71 ASSERT_TRUE(data);
57 ASSERT_EQ(buffer->GetDataSize(), kNewDataSize + 10); 72 ASSERT_EQ(kNewDataSize + 10, buffer2->GetBufferSize());
58 memcpy(data, kNewData, kNewDataSize); 73 memcpy(data, kNewData, kNewDataSize);
59 read_only_data = buffer->GetData(); 74 buffer2->SetDataSize(kNewDataSize);
60 buffer->SetDataSize(kNewDataSize); 75 read_only_data = buffer2->GetData();
61 EXPECT_EQ(buffer->GetDataSize(), kNewDataSize); 76 EXPECT_EQ(kNewDataSize, buffer2->GetDataSize());
62 ASSERT_EQ(data, read_only_data); 77 ASSERT_EQ(data, read_only_data);
63 EXPECT_EQ(0, memcmp(read_only_data, kNewData, kNewDataSize)); 78 EXPECT_EQ(0, memcmp(read_only_data, kNewData, kNewDataSize));
64 } 79 }
OLDNEW
« no previous file with comments | « media/base/data_buffer.cc ('k') | media/filters/audio_renderer_algorithm_default.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698