Chromium Code Reviews| Index: media/filters/chunk_demuxer_unittest.cc |
| diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc |
| index 0d7c9a1c0d04b668ef4789ac40576f72dcad1290..de21a2e3fe82dc7bfe62e41e12428a4eb10d0a75 100644 |
| --- a/media/filters/chunk_demuxer_unittest.cc |
| +++ b/media/filters/chunk_demuxer_unittest.cc |
| @@ -243,6 +243,10 @@ static void OnSeekDone_OKExpected(bool* called, PipelineStatus status) { |
| *called = true; |
| } |
| +static void OnPipelineStatus_NOTREACHED(PipelineStatus status) { |
| + NOTREACHED(); |
| +} |
| + |
| class ChunkDemuxerTest : public ::testing::Test { |
| protected: |
| enum CodecsIndex { |
| @@ -786,10 +790,9 @@ class ChunkDemuxerTest : public ::testing::Test { |
| ASSERT_FALSE(AppendData(garbage_cluster.get(), garbage_cluster_size)); |
| } |
| - void InitDoneCalled(PipelineStatus expected_status, |
| - PipelineStatus status) { |
| - EXPECT_EQ(status, expected_status); |
| - } |
| + MOCK_METHOD1(DemuxerInitialized, void(PipelineStatus)); |
|
alokp
2016/09/16 22:10:16
Converted InitDoneCalled into a mock method so tha
|
| + |
| + void InitDoneCB(PipelineStatus status) { DemuxerInitialized(status); } |
| PipelineStatusCB CreateInitDoneCB(const base::TimeDelta& expected_duration, |
| PipelineStatus expected_status) { |
| @@ -799,9 +802,8 @@ class ChunkDemuxerTest : public ::testing::Test { |
| } |
| PipelineStatusCB CreateInitDoneCB(PipelineStatus expected_status) { |
| - return base::Bind(&ChunkDemuxerTest::InitDoneCalled, |
| - base::Unretained(this), |
| - expected_status); |
| + EXPECT_CALL(*this, DemuxerInitialized(expected_status)); |
| + return base::Bind(&ChunkDemuxerTest::InitDoneCB, base::Unretained(this)); |
| } |
| enum StreamFlags { |
| @@ -1676,9 +1678,7 @@ TEST_F(ChunkDemuxerTest, InitSegmentSetsNeedRandomAccessPointFlag) { |
| // is called before all the initialization segments are appended. |
| TEST_F(ChunkDemuxerTest, Shutdown_BeforeAllInitSegmentsAppended) { |
| EXPECT_CALL(*this, DemuxerOpened()); |
| - demuxer_->Initialize( |
| - &host_, CreateInitDoneCB( |
| - kDefaultDuration(), DEMUXER_ERROR_COULD_NOT_OPEN), true); |
| + demuxer_->Initialize(&host_, base::Bind(&OnPipelineStatus_NOTREACHED), true); |
|
alokp
2016/09/16 22:10:16
init_cb should not be called here since the demuxe
xhwang
2016/09/16 23:41:47
hmm, we typically don't like outstanding callbacks
alokp
2016/09/17 00:06:05
This patch does not change this behavior. ChunkDem
xhwang
2016/09/17 03:58:24
The demuxer API is a bit old and it's not very cle
alokp
2016/09/17 05:43:14
I see. I misunderstood your previous comment. I ag
|
| EXPECT_EQ(AddId("audio", HAS_AUDIO), ChunkDemuxer::kOk); |
| EXPECT_EQ(AddId("video", HAS_VIDEO), ChunkDemuxer::kOk); |
| @@ -1692,9 +1692,7 @@ TEST_F(ChunkDemuxerTest, Shutdown_BeforeAllInitSegmentsAppended) { |
| TEST_F(ChunkDemuxerTest, Shutdown_BeforeAllInitSegmentsAppendedText) { |
| EXPECT_CALL(*this, DemuxerOpened()); |
| - demuxer_->Initialize( |
| - &host_, CreateInitDoneCB( |
| - kDefaultDuration(), DEMUXER_ERROR_COULD_NOT_OPEN), true); |
| + demuxer_->Initialize(&host_, base::Bind(&OnPipelineStatus_NOTREACHED), true); |
|
alokp
2016/09/16 22:10:16
ditto
|
| EXPECT_EQ(AddId("audio", HAS_AUDIO), ChunkDemuxer::kOk); |
| EXPECT_EQ(AddId("video_and_text", HAS_VIDEO), ChunkDemuxer::kOk); |
| @@ -1765,8 +1763,8 @@ TEST_F(ChunkDemuxerTest, AppendDataAfterSeek) { |
| // Test that parsing errors are handled for clusters appended after init. |
| TEST_F(ChunkDemuxerTest, ErrorWhileParsingClusterAfterInit) { |
| + InSequence s; |
|
alokp
2016/09/16 22:10:16
Added to verify that init_cb is called before OnDe
|
| ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO)); |
| - ASSERT_TRUE(AppendCluster(kDefaultFirstCluster())); |
| EXPECT_MEDIA_LOG(StreamParsingFailed()); |
| EXPECT_CALL(host_, OnDemuxerError(CHUNK_DEMUXER_ERROR_APPEND_FAILED)); |
| @@ -3221,7 +3219,7 @@ TEST_F(ChunkDemuxerTest, EndOfStreamStillSetAfterSeek) { |
| TEST_F(ChunkDemuxerTest, GetBufferedRangesBeforeInitSegment) { |
| EXPECT_CALL(*this, DemuxerOpened()); |
| - demuxer_->Initialize(&host_, CreateInitDoneCB(PIPELINE_OK), true); |
| + demuxer_->Initialize(&host_, base::Bind(&OnPipelineStatus_NOTREACHED), true); |
| ASSERT_EQ(AddId("audio", HAS_AUDIO), ChunkDemuxer::kOk); |
| ASSERT_EQ(AddId("video", HAS_VIDEO), ChunkDemuxer::kOk); |