Chromium Code Reviews| Index: media/filters/video_decoder_selector_unittest.cc |
| diff --git a/media/filters/video_decoder_selector_unittest.cc b/media/filters/video_decoder_selector_unittest.cc |
| index 8086c62f860fae079a16a6bb57e3dbb752acab1f..764a0ba00327f0e99e75bc5a3ce07da035041bb2 100644 |
| --- a/media/filters/video_decoder_selector_unittest.cc |
| +++ b/media/filters/video_decoder_selector_unittest.cc |
| @@ -18,7 +18,6 @@ using ::testing::NiceMock; |
| using ::testing::NotNull; |
| using ::testing::Return; |
| using ::testing::ReturnRef; |
| -using ::testing::SaveArg; |
| using ::testing::StrictMock; |
| namespace media { |
| @@ -52,16 +51,17 @@ class VideoDecoderSelectorTest : public ::testing::Test { |
| EXPECT_CALL(*demuxer_stream_, type()) |
| .WillRepeatedly(Return(DemuxerStream::VIDEO)); |
| - } |
| - ~VideoDecoderSelectorTest() { |
| EXPECT_CALL(*decoder_1_, Stop(_)) |
| .WillRepeatedly(RunClosure<0>()); |
| EXPECT_CALL(*decoder_2_, Stop(_)) |
| .WillRepeatedly(RunClosure<0>()); |
| + } |
| - if (selected_decoder_) |
| + ~VideoDecoderSelectorTest() { |
| + if (selected_decoder_) { |
| selected_decoder_->Stop(NewExpectedClosure()); |
| + } |
| message_loop_.RunUntilIdle(); |
| } |
| @@ -69,9 +69,16 @@ class VideoDecoderSelectorTest : public ::testing::Test { |
| MOCK_METHOD1(OnStatistics, void(const PipelineStatistics&)); |
| MOCK_METHOD1(SetDecryptorReadyCallback, void(const media::DecryptorReadyCB&)); |
| MOCK_METHOD2(OnDecoderSelected, |
| - void(const scoped_refptr<VideoDecoder>&, |
| + void(VideoDecoder*, |
| const scoped_refptr<DecryptingDemuxerStream>&)); |
| + void MockOnDecoderSelected( |
| + scoped_ptr<VideoDecoder> decoder, |
| + const scoped_refptr<DecryptingDemuxerStream>& stream) { |
| + OnDecoderSelected(decoder.get(), stream); |
| + selected_decoder_ = decoder.Pass(); |
|
scherkus (not reviewing)
2013/03/22 00:04:20
xhwang: this replaces SaveArg<>
|
| + } |
| + |
| void UseClearStream() { |
| EXPECT_CALL(*demuxer_stream_, video_decoder_config()) |
| .WillRepeatedly(ReturnRef(clear_video_config_)); |
| @@ -104,12 +111,12 @@ class VideoDecoderSelectorTest : public ::testing::Test { |
| } |
| DCHECK_GE(all_decoders_.size(), static_cast<size_t>(num_decoders)); |
| - VideoDecoderSelector::VideoDecoderList decoders( |
| - all_decoders_.begin(), all_decoders_.begin() + num_decoders); |
| + all_decoders_.erase( |
| + all_decoders_.begin() + num_decoders, all_decoders_.end()); |
| decoder_selector_.reset(new VideoDecoderSelector( |
|
Ami GONE FROM CHROMIUM
2013/03/22 23:48:01
operator=() ?
scherkus (not reviewing)
2013/03/28 02:00:01
../../media/filters/video_decoder_selector_unittes
|
| message_loop_.message_loop_proxy(), |
| - decoders, |
| + all_decoders_.Pass(), |
| set_decryptor_ready_cb)); |
| } |
| @@ -118,7 +125,7 @@ class VideoDecoderSelectorTest : public ::testing::Test { |
| demuxer_stream_, |
| base::Bind(&VideoDecoderSelectorTest::OnStatistics, |
| base::Unretained(this)), |
| - base::Bind(&VideoDecoderSelectorTest::OnDecoderSelected, |
| + base::Bind(&VideoDecoderSelectorTest::MockOnDecoderSelected, |
| base::Unretained(this))); |
| message_loop_.RunUntilIdle(); |
| } |
| @@ -131,11 +138,11 @@ class VideoDecoderSelectorTest : public ::testing::Test { |
| // Use NiceMock since we don't care about most of calls on the decryptor, e.g. |
| // RegisterNewKeyCB(). |
| scoped_ptr<NiceMock<MockDecryptor> > decryptor_; |
| - scoped_refptr<StrictMock<MockVideoDecoder> > decoder_1_; |
| - scoped_refptr<StrictMock<MockVideoDecoder> > decoder_2_; |
| - std::vector<scoped_refptr<VideoDecoder> > all_decoders_; |
| + StrictMock<MockVideoDecoder>* decoder_1_; |
| + StrictMock<MockVideoDecoder>* decoder_2_; |
| + ScopedVector<VideoDecoder> all_decoders_; |
| - scoped_refptr<VideoDecoder> selected_decoder_; |
| + scoped_ptr<VideoDecoder> selected_decoder_; |
| MessageLoop message_loop_; |
| @@ -162,9 +169,7 @@ TEST_F(VideoDecoderSelectorTest, ClearStream_NoDecryptor_OneClearDecoder) { |
| EXPECT_CALL(*decoder_1_, Initialize(_, _, _)) |
| .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| - EXPECT_CALL(*this, OnDecoderSelected(scoped_refptr<VideoDecoder>(decoder_1_), |
| - IsNull())) |
| - .WillOnce(SaveArg<0>(&selected_decoder_)); |
| + EXPECT_CALL(*this, OnDecoderSelected(decoder_1_, IsNull())); |
| SelectDecoder(); |
| } |
| @@ -179,9 +184,7 @@ TEST_F(VideoDecoderSelectorTest, ClearStream_NoDecryptor_MultipleClearDecoder) { |
| .WillOnce(RunCallback<1>(DECODER_ERROR_NOT_SUPPORTED)); |
| EXPECT_CALL(*decoder_2_, Initialize(_, _, _)) |
| .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| - EXPECT_CALL(*this, OnDecoderSelected(scoped_refptr<VideoDecoder>(decoder_2_), |
| - IsNull())) |
| - .WillOnce(SaveArg<0>(&selected_decoder_)); |
| + EXPECT_CALL(*this, OnDecoderSelected(decoder_2_, IsNull())); |
| SelectDecoder(); |
| } |
| @@ -194,9 +197,7 @@ TEST_F(VideoDecoderSelectorTest, ClearStream_HasDecryptor) { |
| EXPECT_CALL(*decoder_1_, Initialize(_, _, _)) |
| .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| - EXPECT_CALL(*this, OnDecoderSelected(scoped_refptr<VideoDecoder>(decoder_1_), |
| - IsNull())) |
| - .WillOnce(SaveArg<0>(&selected_decoder_)); |
| + EXPECT_CALL(*this, OnDecoderSelected(decoder_1_, IsNull())); |
| SelectDecoder(); |
| } |
| @@ -230,9 +231,7 @@ TEST_F(VideoDecoderSelectorTest, EncryptedStream_DecryptOnly_OneClearDecoder) { |
| EXPECT_CALL(*decoder_1_, Initialize(_, _, _)) |
| .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| - EXPECT_CALL(*this, OnDecoderSelected(scoped_refptr<VideoDecoder>(decoder_1_), |
| - NotNull())) |
| - .WillOnce(SaveArg<0>(&selected_decoder_)); |
| + EXPECT_CALL(*this, OnDecoderSelected(decoder_1_, NotNull())); |
| SelectDecoder(); |
| } |
| @@ -249,9 +248,7 @@ TEST_F(VideoDecoderSelectorTest, |
| .WillOnce(RunCallback<1>(DECODER_ERROR_NOT_SUPPORTED)); |
| EXPECT_CALL(*decoder_2_, Initialize(_, _, _)) |
| .WillOnce(RunCallback<1>(PIPELINE_OK)); |
| - EXPECT_CALL(*this, OnDecoderSelected(scoped_refptr<VideoDecoder>(decoder_2_), |
| - NotNull())) |
| - .WillOnce(SaveArg<0>(&selected_decoder_)); |
| + EXPECT_CALL(*this, OnDecoderSelected(decoder_2_, NotNull())); |
| SelectDecoder(); |
| } |
| @@ -263,8 +260,7 @@ TEST_F(VideoDecoderSelectorTest, EncryptedStream_DecryptAndDecode) { |
| UseEncryptedStream(); |
| InitializeDecoderSelector(kDecryptAndDecode, 1); |
| - EXPECT_CALL(*this, OnDecoderSelected(NotNull(), IsNull())) |
| - .WillOnce(SaveArg<0>(&selected_decoder_)); |
| + EXPECT_CALL(*this, OnDecoderSelected(NotNull(), IsNull())); |
| SelectDecoder(); |
| } |