Chromium Code Reviews| Index: media/filters/decrypting_demuxer_stream_unittest.cc |
| diff --git a/media/filters/decrypting_demuxer_stream_unittest.cc b/media/filters/decrypting_demuxer_stream_unittest.cc |
| index 27d1f33e7951639f53aff7d5426608943f94a5c3..37c01cb4688a96e4b234e07d892d404226f178c6 100644 |
| --- a/media/filters/decrypting_demuxer_stream_unittest.cc |
| +++ b/media/filters/decrypting_demuxer_stream_unittest.cc |
| @@ -89,6 +89,13 @@ class DecryptingDemuxerStreamTest : public testing::Test { |
| decrypted_buffer_(new DecoderBuffer(kFakeBufferSize)) { |
| } |
| + ~DecryptingDemuxerStreamTest() { |
|
scherkus (not reviewing)
2014/07/17 02:23:05
virtual
xhwang
2014/07/17 05:00:58
Done.
|
| + if (is_decryptor_set_) |
| + EXPECT_CALL(*decryptor_, CancelDecrypt(_)); |
| + demuxer_stream_.reset(); |
| + message_loop_.RunUntilIdle(); |
| + } |
| + |
| void InitializeAudioAndExpectStatus(const AudioDecoderConfig& config, |
| PipelineStatus status) { |
| input_audio_stream_->set_audio_decoder_config(config); |
| @@ -237,15 +244,6 @@ class DecryptingDemuxerStreamTest : public testing::Test { |
| message_loop_.RunUntilIdle(); |
| } |
| - // Stops the |demuxer_stream_| without satisfying/aborting any pending |
| - // operations. |
| - void Stop() { |
| - if (is_decryptor_set_) |
| - EXPECT_CALL(*decryptor_, CancelDecrypt(Decryptor::kAudio)); |
| - demuxer_stream_->Stop(); |
| - message_loop_.RunUntilIdle(); |
| - } |
| - |
| MOCK_METHOD1(RequestDecryptorNotification, void(const DecryptorReadyCB&)); |
| MOCK_METHOD2(BufferReady, void(DemuxerStream::Status, |
| @@ -379,8 +377,7 @@ TEST_F(DecryptingDemuxerStreamTest, KeyAdded_DruingPendingDecrypt) { |
| message_loop_.RunUntilIdle(); |
| } |
| -// Test resetting when the DecryptingDemuxerStream is in kDecryptorRequested |
| -// state. |
| +// Test resetting in kDecryptorRequested state. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_DuringDecryptorRequested) { |
| // One for decryptor request, one for canceling request during Reset(). |
| EXPECT_CALL(*this, RequestDecryptorNotification(_)) |
| @@ -392,22 +389,20 @@ TEST_F(DecryptingDemuxerStreamTest, Reset_DuringDecryptorRequested) { |
| Reset(); |
| } |
| -// Test resetting when the DecryptingDemuxerStream is in kIdle state but has |
| -// not returned any buffer. |
| +// Test resetting in kIdle state but has not returned any buffer. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_DuringIdleAfterInitialization) { |
| Initialize(); |
| Reset(); |
| } |
| -// Test resetting when the DecryptingDemuxerStream is in kIdle state after it |
| -// has returned one buffer. |
| +// Test resetting in kIdle state after having returned one buffer. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_DuringIdleAfterReadOneBuffer) { |
| Initialize(); |
| EnterNormalReadingState(); |
| Reset(); |
| } |
| -// Test resetting when DecryptingDemuxerStream is in kPendingDemuxerRead state. |
| +// Test resetting in kPendingDemuxerRead state. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_DuringPendingDemuxerRead) { |
| Initialize(); |
| EnterPendingReadState(); |
| @@ -419,7 +414,7 @@ TEST_F(DecryptingDemuxerStreamTest, Reset_DuringPendingDemuxerRead) { |
| message_loop_.RunUntilIdle(); |
| } |
| -// Test resetting when the DecryptingDemuxerStream is in kPendingDecrypt state. |
| +// Test resetting in kPendingDecrypt state. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_DuringPendingDecrypt) { |
| Initialize(); |
| EnterPendingDecryptState(); |
| @@ -429,7 +424,7 @@ TEST_F(DecryptingDemuxerStreamTest, Reset_DuringPendingDecrypt) { |
| Reset(); |
| } |
| -// Test resetting when the DecryptingDemuxerStream is in kWaitingForKey state. |
| +// Test resetting in kWaitingForKey state. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_DuringWaitingForKey) { |
| Initialize(); |
| EnterWaitingForKeyState(); |
| @@ -439,7 +434,7 @@ TEST_F(DecryptingDemuxerStreamTest, Reset_DuringWaitingForKey) { |
| Reset(); |
| } |
| -// Test resetting after the DecryptingDemuxerStream has been reset. |
| +// Test resetting after reset. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_AfterReset) { |
| Initialize(); |
| EnterNormalReadingState(); |
| @@ -458,7 +453,7 @@ TEST_F(DecryptingDemuxerStreamTest, DemuxerRead_Aborted) { |
| ReadAndExpectBufferReadyWith(DemuxerStream::kAborted, NULL); |
| } |
| -// Test resetting when DecryptingDemuxerStream is waiting for an aborted read. |
| +// Test resetting when waiting for an aborted read. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_DuringAbortedDemuxerRead) { |
| Initialize(); |
| EnterPendingReadState(); |
| @@ -487,8 +482,7 @@ TEST_F(DecryptingDemuxerStreamTest, DemuxerRead_ConfigChanged) { |
| ReadAndExpectBufferReadyWith(DemuxerStream::kConfigChanged, NULL); |
| } |
| -// Test resetting when DecryptingDemuxerStream is waiting for a config changed |
| -// read. |
| +// Test resetting when waiting for a config changed read. |
| TEST_F(DecryptingDemuxerStreamTest, Reset_DuringConfigChangedDemuxerRead) { |
| Initialize(); |
| EnterPendingReadState(); |
| @@ -501,9 +495,11 @@ TEST_F(DecryptingDemuxerStreamTest, Reset_DuringConfigChangedDemuxerRead) { |
| message_loop_.RunUntilIdle(); |
| } |
| -// Test stopping when the DecryptingDemuxerStream is in kDecryptorRequested |
| -// state. |
| -TEST_F(DecryptingDemuxerStreamTest, Stop_DuringDecryptorRequested) { |
| +// The following tests test destruction in various scenarios. The destruction |
| +// happens in DecryptingDemuxerStreamTest's dtor. |
| + |
| +// Test destruction in kDecryptorRequested state. |
| +TEST_F(DecryptingDemuxerStreamTest, Destroy_DuringDecryptorRequested) { |
| // One for decryptor request, one for canceling request during Reset(). |
| EXPECT_CALL(*this, RequestDecryptorNotification(_)) |
| .Times(2); |
| @@ -511,57 +507,48 @@ TEST_F(DecryptingDemuxerStreamTest, Stop_DuringDecryptorRequested) { |
| kCodecVorbis, kSampleFormatPlanarF32, CHANNEL_LAYOUT_STEREO, 44100, |
| NULL, 0, true); |
| InitializeAudioAndExpectStatus(input_config, PIPELINE_ERROR_ABORT); |
| - Stop(); |
| } |
| -// Test stopping when the DecryptingDemuxerStream is in kIdle state but has |
| -// not returned any buffer. |
| -TEST_F(DecryptingDemuxerStreamTest, Stop_DuringIdleAfterInitialization) { |
| +// Test destruction in kIdle state but has not returned any buffer. |
| +TEST_F(DecryptingDemuxerStreamTest, Destroy_DuringIdleAfterInitialization) { |
| Initialize(); |
| - Stop(); |
| } |
| -// Test stopping when the DecryptingDemuxerStream is in kIdle state after it |
| -// has returned one buffer. |
| -TEST_F(DecryptingDemuxerStreamTest, Stop_DuringIdleAfterReadOneBuffer) { |
| +// Test destruction in kIdle state after having returned one buffer. |
| +TEST_F(DecryptingDemuxerStreamTest, Destroy_DuringIdleAfterReadOneBuffer) { |
| Initialize(); |
| EnterNormalReadingState(); |
| - Stop(); |
| } |
| -// Test stopping when DecryptingDemuxerStream is in kPendingDemuxerRead state. |
| -TEST_F(DecryptingDemuxerStreamTest, Stop_DuringPendingDemuxerRead) { |
| +// Test destruction in kPendingDemuxerRead state. |
| +TEST_F(DecryptingDemuxerStreamTest, Destroy_DuringPendingDemuxerRead) { |
| Initialize(); |
| EnterPendingReadState(); |
| EXPECT_CALL(*this, BufferReady(DemuxerStream::kAborted, IsNull())); |
| - Stop(); |
| } |
| -// Test stopping when the DecryptingDemuxerStream is in kPendingDecrypt state. |
| -TEST_F(DecryptingDemuxerStreamTest, Stop_DuringPendingDecrypt) { |
| +// Test destruction in kPendingDecrypt state. |
| +TEST_F(DecryptingDemuxerStreamTest, Destroy_DuringPendingDecrypt) { |
| Initialize(); |
| EnterPendingDecryptState(); |
| EXPECT_CALL(*this, BufferReady(DemuxerStream::kAborted, IsNull())); |
| - Stop(); |
| } |
| -// Test stopping when the DecryptingDemuxerStream is in kWaitingForKey state. |
| -TEST_F(DecryptingDemuxerStreamTest, Stop_DuringWaitingForKey) { |
| +// Test destruction in kWaitingForKey state. |
| +TEST_F(DecryptingDemuxerStreamTest, Destroy_DuringWaitingForKey) { |
| Initialize(); |
| EnterWaitingForKeyState(); |
| EXPECT_CALL(*this, BufferReady(DemuxerStream::kAborted, IsNull())); |
| - Stop(); |
| } |
| -// Test stopping after the DecryptingDemuxerStream has been reset. |
| -TEST_F(DecryptingDemuxerStreamTest, Stop_AfterReset) { |
| +// Test destruction after reset. |
| +TEST_F(DecryptingDemuxerStreamTest, Destroy_AfterReset) { |
| Initialize(); |
| EnterNormalReadingState(); |
| Reset(); |
| - Stop(); |
| } |
| } // namespace media |