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

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

Issue 11275088: Remove implicit scoped_refptr operator T* Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 8 years, 1 month 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
OLDNEW
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/string_util.h" 5 #include "base/string_util.h"
6 #include "media/base/decoder_buffer.h" 6 #include "media/base/decoder_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
11 TEST(DecoderBufferTest, Constructors) { 11 TEST(DecoderBufferTest, Constructors) {
12 scoped_refptr<DecoderBuffer> buffer(new DecoderBuffer(0)); 12 scoped_refptr<DecoderBuffer> buffer(new DecoderBuffer(0));
13 EXPECT_TRUE(buffer->GetData()); 13 EXPECT_TRUE(buffer->GetData());
14 EXPECT_EQ(0, buffer->GetDataSize()); 14 EXPECT_EQ(0, buffer->GetDataSize());
15 EXPECT_FALSE(buffer->IsEndOfStream()); 15 EXPECT_FALSE(buffer->IsEndOfStream());
16 16
17 const int kTestSize = 10; 17 const int kTestSize = 10;
18 scoped_refptr<DecoderBuffer> buffer3(new DecoderBuffer(kTestSize)); 18 scoped_refptr<DecoderBuffer> buffer3(new DecoderBuffer(kTestSize));
19 ASSERT_TRUE(buffer3); 19 ASSERT_TRUE(buffer3.get());
20 EXPECT_EQ(kTestSize, buffer3->GetDataSize()); 20 EXPECT_EQ(kTestSize, buffer3->GetDataSize());
21 } 21 }
22 22
23 TEST(DecoderBufferTest, CreateEOSBuffer) { 23 TEST(DecoderBufferTest, CreateEOSBuffer) {
24 scoped_refptr<DecoderBuffer> buffer(DecoderBuffer::CreateEOSBuffer()); 24 scoped_refptr<DecoderBuffer> buffer(DecoderBuffer::CreateEOSBuffer());
25 EXPECT_TRUE(buffer->IsEndOfStream()); 25 EXPECT_TRUE(buffer->IsEndOfStream());
26 EXPECT_FALSE(buffer->GetData()); 26 EXPECT_FALSE(buffer->GetData());
27 EXPECT_EQ(0, buffer->GetDataSize()); 27 EXPECT_EQ(0, buffer->GetDataSize());
28 } 28 }
29 29
30 TEST(DecoderBufferTest, CopyFrom) { 30 TEST(DecoderBufferTest, CopyFrom) {
31 const uint8 kData[] = "hello"; 31 const uint8 kData[] = "hello";
32 const int kDataSize = arraysize(kData); 32 const int kDataSize = arraysize(kData);
33 scoped_refptr<DecoderBuffer> buffer2(DecoderBuffer::CopyFrom( 33 scoped_refptr<DecoderBuffer> buffer2(DecoderBuffer::CopyFrom(
34 reinterpret_cast<const uint8*>(&kData), kDataSize)); 34 reinterpret_cast<const uint8*>(&kData), kDataSize));
35 ASSERT_TRUE(buffer2); 35 ASSERT_TRUE(buffer2.get());
36 EXPECT_NE(kData, buffer2->GetData()); 36 EXPECT_NE(kData, buffer2->GetData());
37 EXPECT_EQ(buffer2->GetDataSize(), kDataSize); 37 EXPECT_EQ(buffer2->GetDataSize(), kDataSize);
38 EXPECT_EQ(0, memcmp(buffer2->GetData(), kData, kDataSize)); 38 EXPECT_EQ(0, memcmp(buffer2->GetData(), kData, kDataSize));
39 EXPECT_FALSE(buffer2->IsEndOfStream()); 39 EXPECT_FALSE(buffer2->IsEndOfStream());
40 } 40 }
41 41
42 #if !defined(OS_ANDROID) 42 #if !defined(OS_ANDROID)
43 TEST(DecoderBufferTest, PaddingAlignment) { 43 TEST(DecoderBufferTest, PaddingAlignment) {
44 const uint8 kData[] = "hello"; 44 const uint8 kData[] = "hello";
45 const int kDataSize = arraysize(kData); 45 const int kDataSize = arraysize(kData);
46 scoped_refptr<DecoderBuffer> buffer2(DecoderBuffer::CopyFrom( 46 scoped_refptr<DecoderBuffer> buffer2(DecoderBuffer::CopyFrom(
47 reinterpret_cast<const uint8*>(&kData), kDataSize)); 47 reinterpret_cast<const uint8*>(&kData), kDataSize));
48 ASSERT_TRUE(buffer2); 48 ASSERT_TRUE(buffer2.get());
49 49
50 // Padding data should always be zeroed. 50 // Padding data should always be zeroed.
51 for(int i = 0; i < DecoderBuffer::kPaddingSize; i++) 51 for(int i = 0; i < DecoderBuffer::kPaddingSize; i++)
52 EXPECT_EQ((buffer2->GetData() + kDataSize)[i], 0); 52 EXPECT_EQ((buffer2->GetData() + kDataSize)[i], 0);
53 53
54 // If the data is padded correctly we should be able to read and write past 54 // If the data is padded correctly we should be able to read and write past
55 // the end of the data by DecoderBuffer::kPaddingSize bytes without crashing 55 // the end of the data by DecoderBuffer::kPaddingSize bytes without crashing
56 // or Valgrind/ASAN throwing errors. 56 // or Valgrind/ASAN throwing errors.
57 const uint8 kFillChar = 0xFF; 57 const uint8 kFillChar = 0xFF;
58 memset( 58 memset(
59 buffer2->GetWritableData() + kDataSize, kFillChar, 59 buffer2->GetWritableData() + kDataSize, kFillChar,
60 DecoderBuffer::kPaddingSize); 60 DecoderBuffer::kPaddingSize);
61 for(int i = 0; i < DecoderBuffer::kPaddingSize; i++) 61 for(int i = 0; i < DecoderBuffer::kPaddingSize; i++)
62 EXPECT_EQ((buffer2->GetData() + kDataSize)[i], kFillChar); 62 EXPECT_EQ((buffer2->GetData() + kDataSize)[i], kFillChar);
63 63
64 EXPECT_EQ(0u, reinterpret_cast<uintptr_t>( 64 EXPECT_EQ(0u, reinterpret_cast<uintptr_t>(
65 buffer2->GetData()) & (DecoderBuffer::kAlignmentSize - 1)); 65 buffer2->GetData()) & (DecoderBuffer::kAlignmentSize - 1));
66 } 66 }
67 #endif 67 #endif
68 68
69 TEST(DecoderBufferTest, ReadingWriting) { 69 TEST(DecoderBufferTest, ReadingWriting) {
70 const char kData[] = "hello"; 70 const char kData[] = "hello";
71 const int kDataSize = arraysize(kData); 71 const int kDataSize = arraysize(kData);
72 72
73 scoped_refptr<DecoderBuffer> buffer(new DecoderBuffer(kDataSize)); 73 scoped_refptr<DecoderBuffer> buffer(new DecoderBuffer(kDataSize));
74 ASSERT_TRUE(buffer); 74 ASSERT_TRUE(buffer.get());
75 75
76 uint8* data = buffer->GetWritableData(); 76 uint8* data = buffer->GetWritableData();
77 ASSERT_TRUE(data); 77 ASSERT_TRUE(data);
78 ASSERT_EQ(kDataSize, buffer->GetDataSize()); 78 ASSERT_EQ(kDataSize, buffer->GetDataSize());
79 memcpy(data, kData, kDataSize); 79 memcpy(data, kData, kDataSize);
80 const uint8* read_only_data = buffer->GetData(); 80 const uint8* read_only_data = buffer->GetData();
81 ASSERT_EQ(data, read_only_data); 81 ASSERT_EQ(data, read_only_data);
82 ASSERT_EQ(0, memcmp(read_only_data, kData, kDataSize)); 82 ASSERT_EQ(0, memcmp(read_only_data, kData, kDataSize));
83 EXPECT_FALSE(buffer->IsEndOfStream()); 83 EXPECT_FALSE(buffer->IsEndOfStream());
84 } 84 }
85 85
86 TEST(DecoderBufferTest, GetDecryptConfig) { 86 TEST(DecoderBufferTest, GetDecryptConfig) {
87 scoped_refptr<DecoderBuffer> buffer(new DecoderBuffer(0)); 87 scoped_refptr<DecoderBuffer> buffer(new DecoderBuffer(0));
88 EXPECT_FALSE(buffer->GetDecryptConfig()); 88 EXPECT_FALSE(buffer->GetDecryptConfig());
89 } 89 }
90 90
91 } // namespace media 91 } // namespace media
OLDNEW
« no previous file with comments | « media/base/audio_renderer_mixer_input_unittest.cc ('k') | media/base/filter_collection_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698