Index: media/filters/decrypting_video_decoder_unittest.cc |
diff --git a/media/filters/decrypting_video_decoder_unittest.cc b/media/filters/decrypting_video_decoder_unittest.cc |
index 2b3666b527f1087d8569d4c30d0c6a3e475cfdc4..d35facf9622a952664e8a668dc9885f35146eba8 100644 |
--- a/media/filters/decrypting_video_decoder_unittest.cc |
+++ b/media/filters/decrypting_video_decoder_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "base/message_loop.h" |
#include "media/base/decoder_buffer.h" |
#include "media/base/decrypt_config.h" |
+#include "media/base/gmock_callback_support.h" |
#include "media/base/mock_callback.h" |
#include "media/base/mock_filters.h" |
#include "media/base/video_frame.h" |
@@ -55,32 +56,16 @@ ACTION_P(ReturnBuffer, buffer) { |
arg0.Run(buffer ? DemuxerStream::kOk : DemuxerStream::kAborted, buffer); |
} |
-ACTION(ReturnConfigChanged) { |
- arg0.Run(DemuxerStream::kConfigChanged, scoped_refptr<DecoderBuffer>(NULL)); |
-} |
- |
-ACTION_P(RunCallback0, param) { |
+ACTION_P(RunCallbackIfNotNull, param) { |
if (!arg0.is_null()) |
arg0.Run(param); |
} |
-ACTION_P(RunCallback1, param) { |
- arg1.Run(param); |
-} |
- |
-ACTION_P2(RunCallback2, param1, param2) { |
- arg1.Run(param1, param2); |
-} |
- |
ACTION_P2(ResetAndRunCallback, callback, param) { |
base::ResetAndReturn(callback).Run(param); |
} |
-MATCHER(IsNullCallback, "") { |
- return (arg.is_null()); |
-} |
- |
-MATCHER(IsEndOfStream, "") { |
+MATCHER(IsEndOfStream, "end of stream") { |
return (arg->IsEndOfStream()); |
} |
@@ -112,7 +97,7 @@ class DecryptingVideoDecoderTest : public testing::Test { |
EXPECT_CALL(*demuxer_, video_decoder_config()) |
.WillRepeatedly(ReturnRef(config)); |
EXPECT_CALL(*this, RequestDecryptorNotification(_)) |
- .WillOnce(RunCallback0(decryptor_.get())); |
+ .WillOnce(RunCallbackIfNotNull(decryptor_.get())); |
decoder_->Initialize(demuxer_, NewExpectedStatusCB(status), |
base::Bind(&MockStatisticsCB::OnStatistics, |
@@ -123,7 +108,7 @@ class DecryptingVideoDecoderTest : public testing::Test { |
void Initialize() { |
EXPECT_CALL(*decryptor_, InitializeVideoDecoderMock(_, _)) |
.Times(AtMost(1)) |
- .WillOnce(RunCallback1(true)); |
+ .WillOnce(RunCallback<1>(true)); |
EXPECT_CALL(*decryptor_, RegisterKeyAddedCB(Decryptor::kVideo, _)) |
.WillOnce(SaveArg<1>(&key_added_cb_)); |
@@ -156,9 +141,9 @@ class DecryptingVideoDecoderTest : public testing::Test { |
.WillOnce(ReturnBuffer(encrypted_buffer_)) |
.WillRepeatedly(ReturnBuffer(DecoderBuffer::CreateEOSBuffer())); |
EXPECT_CALL(*decryptor_, DecryptAndDecodeVideo(_, _)) |
- .WillOnce(RunCallback2(Decryptor::kSuccess, decoded_video_frame_)) |
- .WillRepeatedly(RunCallback2(Decryptor::kNeedMoreData, |
- scoped_refptr<VideoFrame>())); |
+ .WillOnce(RunCallback<1>(Decryptor::kSuccess, decoded_video_frame_)) |
+ .WillRepeatedly(RunCallback<1>(Decryptor::kNeedMoreData, |
+ scoped_refptr<VideoFrame>())); |
EXPECT_CALL(statistics_cb_, OnStatistics(_)); |
ReadAndExpectFrameReadyWith(VideoDecoder::kOk, decoded_video_frame_); |
@@ -203,7 +188,7 @@ class DecryptingVideoDecoderTest : public testing::Test { |
EXPECT_CALL(*demuxer_, Read(_)) |
.WillRepeatedly(ReturnBuffer(encrypted_buffer_)); |
EXPECT_CALL(*decryptor_, DecryptAndDecodeVideo(_, _)) |
- .WillRepeatedly(RunCallback2(Decryptor::kNoKey, null_video_frame_)); |
+ .WillRepeatedly(RunCallback<1>(Decryptor::kNoKey, null_video_frame_)); |
decoder_->Read(base::Bind(&DecryptingVideoDecoderTest::FrameReady, |
base::Unretained(this))); |
message_loop_.RunAllPending(); |
@@ -302,7 +287,7 @@ TEST_F(DecryptingVideoDecoderTest, Initialize_InvalidVideoConfig) { |
// Ensure decoder handles unsupported video configs without crashing. |
TEST_F(DecryptingVideoDecoderTest, Initialize_UnsupportedVideoConfig) { |
EXPECT_CALL(*decryptor_, InitializeVideoDecoderMock(_, _)) |
- .WillOnce(RunCallback1(false)); |
+ .WillOnce(RunCallback<1>(false)); |
VideoDecoderConfig config(kCodecVP8, VIDEO_CODEC_PROFILE_UNKNOWN, |
kVideoFormat, |
@@ -326,7 +311,7 @@ TEST_F(DecryptingVideoDecoderTest, DecryptAndDecode_DecodeError) { |
EXPECT_CALL(*demuxer_, Read(_)) |
.WillRepeatedly(ReturnBuffer(encrypted_buffer_)); |
EXPECT_CALL(*decryptor_, DecryptAndDecodeVideo(_, _)) |
- .WillRepeatedly(RunCallback2(Decryptor::kError, |
+ .WillRepeatedly(RunCallback<1>(Decryptor::kError, |
scoped_refptr<VideoFrame>(NULL))); |
ReadAndExpectFrameReadyWith(VideoDecoder::kDecodeError, null_video_frame_); |
@@ -341,9 +326,10 @@ TEST_F(DecryptingVideoDecoderTest, DecryptAndDecode_NeedMoreData) { |
.Times(2) |
.WillRepeatedly(ReturnBuffer(encrypted_buffer_)); |
EXPECT_CALL(*decryptor_, DecryptAndDecodeVideo(_, _)) |
- .WillOnce(RunCallback2(Decryptor::kNeedMoreData, |
+ .WillOnce(RunCallback<1>(Decryptor::kNeedMoreData, |
scoped_refptr<VideoFrame>())) |
- .WillRepeatedly(RunCallback2(Decryptor::kSuccess, decoded_video_frame_)); |
+ .WillRepeatedly(RunCallback<1>(Decryptor::kSuccess, |
+ decoded_video_frame_)); |
EXPECT_CALL(statistics_cb_, OnStatistics(_)) |
.Times(2); |
@@ -364,7 +350,8 @@ TEST_F(DecryptingVideoDecoderTest, KeyAdded_DuringWaitingForKey) { |
EnterWaitingForKeyState(); |
EXPECT_CALL(*decryptor_, DecryptAndDecodeVideo(_, _)) |
- .WillRepeatedly(RunCallback2(Decryptor::kSuccess, decoded_video_frame_)); |
+ .WillRepeatedly(RunCallback<1>(Decryptor::kSuccess, |
+ decoded_video_frame_)); |
EXPECT_CALL(statistics_cb_, OnStatistics(_)); |
EXPECT_CALL(*this, FrameReady(VideoDecoder::kOk, decoded_video_frame_)); |
key_added_cb_.Run(); |
@@ -378,7 +365,8 @@ TEST_F(DecryptingVideoDecoderTest, KeyAdded_DruingPendingDecode) { |
EnterPendingDecodeState(); |
EXPECT_CALL(*decryptor_, DecryptAndDecodeVideo(_, _)) |
- .WillRepeatedly(RunCallback2(Decryptor::kSuccess, decoded_video_frame_)); |
+ .WillRepeatedly(RunCallback<1>(Decryptor::kSuccess, |
+ decoded_video_frame_)); |
EXPECT_CALL(statistics_cb_, OnStatistics(_)); |
EXPECT_CALL(*this, FrameReady(VideoDecoder::kOk, decoded_video_frame_)); |
// The video decode callback is returned after the correct decryption key is |
@@ -611,7 +599,8 @@ TEST_F(DecryptingVideoDecoderTest, DemuxerRead_ConfigChanged) { |
Initialize(); |
EXPECT_CALL(*demuxer_, Read(_)) |
- .WillOnce(ReturnConfigChanged()); |
+ .WillOnce(RunCallback<0>(DemuxerStream::kConfigChanged, |
+ scoped_refptr<DecoderBuffer>())); |
// TODO(xhwang): Update this test when kConfigChanged is supported in |
// DecryptingVideoDecoder. |