| Index: media/base/composite_filter_unittest.cc
|
| diff --git a/media/base/composite_filter_unittest.cc b/media/base/composite_filter_unittest.cc
|
| index fe757c3638811261fa58db4a9d059e9aa6a1ab77..11ab291420818993b44ddaab439a1b22e13e1fe6 100644
|
| --- a/media/base/composite_filter_unittest.cc
|
| +++ b/media/base/composite_filter_unittest.cc
|
| @@ -1,8 +1,9 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| #include "media/base/composite_filter.h"
|
| +#include "media/base/mock_callback.h"
|
| #include "media/base/mock_filter_host.h"
|
| #include "media/base/mock_filters.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -209,9 +210,6 @@ void CompositeFilterTest::ExpectSuccess(MethodToCall method_to_call,
|
| base::TimeDelta seek_time) {
|
| InSequence seq;
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| bool is_parallel_call = (method_to_call == FLUSH);
|
|
|
| ExpectFilterCall(method_to_call, filter_1_.get(), seek_time);
|
| @@ -221,8 +219,8 @@ void CompositeFilterTest::ExpectSuccess(MethodToCall method_to_call,
|
| }
|
|
|
| // Make method call on the composite.
|
| - DoFilterCall(method_to_call, composite_.get(), seek_time,
|
| - mock_callback->NewCallback());
|
| + StrictMock<MockCallback>* callback = new StrictMock<MockCallback>();
|
| + DoFilterCall(method_to_call, composite_.get(), seek_time, callback);
|
|
|
| if (is_parallel_call) {
|
| // Make sure both filters have their callbacks set.
|
| @@ -243,7 +241,8 @@ void CompositeFilterTest::ExpectSuccess(MethodToCall method_to_call,
|
| EXPECT_TRUE(filter_2_callback_ != NULL);
|
| }
|
|
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| + EXPECT_CALL(*callback, RunWithParams(_));
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| RunFilter2Callback();
|
| }
|
| @@ -271,15 +270,11 @@ void CompositeFilterTest::DoSeek(base::TimeDelta time) {
|
| void CompositeFilterTest::ExpectInvalidStateFail(MethodToCall method_to_call,
|
| base::TimeDelta seek_time) {
|
| InSequence seq;
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
|
|
| EXPECT_CALL(*mock_filter_host_, SetError(PIPELINE_ERROR_INVALID_STATE))
|
| .WillOnce(Return());
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
|
|
| - DoFilterCall(method_to_call, composite_, seek_time,
|
| - mock_callback->NewCallback());
|
| + DoFilterCall(method_to_call, composite_, seek_time, NewExpectedCallback());
|
|
|
| // Make sure that neither of the filters were called by
|
| // verifying that the callback pointers weren't set.
|
| @@ -364,15 +359,11 @@ TEST_F(CompositeFilterTest, TestPlay) {
|
| DoPlay();
|
|
|
| // At this point we are now in the kPlaying state.
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
|
|
| // Try calling Play() again to make sure that we simply get a callback.
|
| // We are already in the Play() state so there is no point calling the
|
| // filters.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| -
|
| - composite_->Play(mock_callback->NewCallback());
|
| + composite_->Play(NewExpectedCallback());
|
|
|
| // Verify that neither of the filter callbacks were set.
|
| EXPECT_EQ((FilterCallback*)NULL, filter_1_callback_);
|
| @@ -384,9 +375,7 @@ TEST_F(CompositeFilterTest, TestPlay) {
|
| // At this point we should be in the kStopped state.
|
|
|
| // Try calling Stop() again to make sure neither filter is called.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| -
|
| - composite_->Stop(mock_callback->NewCallback());
|
| + composite_->Stop(NewExpectedCallback());
|
|
|
| // Verify that neither of the filter callbacks were set.
|
| EXPECT_EQ((FilterCallback*)NULL, filter_1_callback_);
|
| @@ -402,13 +391,11 @@ TEST_F(CompositeFilterTest, TestPlayErrors) {
|
|
|
| SetupAndAdd2Filters();
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| EXPECT_CALL(*filter_1_, Play(_));
|
|
|
| // Call Play() on the composite.
|
| - composite_->Play(mock_callback->NewCallback());
|
| + StrictMock<MockCallback>* callback = new StrictMock<MockCallback>();
|
| + composite_->Play(callback);
|
|
|
| EXPECT_CALL(*filter_2_, Play(_));
|
|
|
| @@ -421,7 +408,8 @@ TEST_F(CompositeFilterTest, TestPlayErrors) {
|
|
|
| // Expect error to be reported and "play done" callback to be called.
|
| EXPECT_CALL(*mock_filter_host_, SetError(PIPELINE_ERROR_OUT_OF_MEMORY));
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| + EXPECT_CALL(*callback, RunWithParams(_));
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| // Run callback to indicate that |filter_2_|'s Play() has completed.
|
| RunFilter2Callback();
|
| @@ -441,9 +429,6 @@ TEST_F(CompositeFilterTest, TestPause) {
|
|
|
| SetupAndAdd2Filters();
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| // Try calling Pause() to make sure we get an error because we aren't in
|
| // the playing state.
|
| ExpectInvalidStateFail(PAUSE);
|
| @@ -458,9 +443,7 @@ TEST_F(CompositeFilterTest, TestPause) {
|
|
|
| // Try calling Pause() again to make sure that the filters aren't called
|
| // because we are already in the paused state.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| -
|
| - composite_->Pause(mock_callback->NewCallback());
|
| + composite_->Pause(NewExpectedCallback());
|
|
|
| // Verify that neither of the filter callbacks were set.
|
| EXPECT_EQ((FilterCallback*)NULL, filter_1_callback_);
|
| @@ -488,13 +471,11 @@ TEST_F(CompositeFilterTest, TestPauseErrors) {
|
|
|
| DoPlay();
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| EXPECT_CALL(*filter_1_, Pause(_));
|
|
|
| // Call Pause() on the composite.
|
| - composite_->Pause(mock_callback->NewCallback());
|
| + StrictMock<MockCallback>* callback = new StrictMock<MockCallback>();
|
| + composite_->Pause(callback);
|
|
|
| // Simulate an error by calling SetError() on |filter_1_|'s FilterHost
|
| // interface.
|
| @@ -502,7 +483,8 @@ TEST_F(CompositeFilterTest, TestPauseErrors) {
|
|
|
| // Expect error to be reported and "pause done" callback to be called.
|
| EXPECT_CALL(*mock_filter_host_, SetError(PIPELINE_ERROR_OUT_OF_MEMORY));
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| + EXPECT_CALL(*callback, RunWithParams(_));
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| RunFilter1Callback();
|
|
|
| @@ -524,9 +506,6 @@ TEST_F(CompositeFilterTest, TestFlush) {
|
|
|
| SetupAndAdd2Filters();
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| // Make sure Flush() works before calling Play().
|
| DoFlush();
|
|
|
| @@ -559,14 +538,12 @@ TEST_F(CompositeFilterTest, TestFlushErrors) {
|
|
|
| SetupAndAdd2Filters();
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| EXPECT_CALL(*filter_1_, Flush(_));
|
| EXPECT_CALL(*filter_2_, Flush(_));
|
|
|
| // Call Flush() on the composite.
|
| - composite_->Flush(mock_callback->NewCallback());
|
| + StrictMock<MockCallback>* callback = new StrictMock<MockCallback>();
|
| + composite_->Flush(callback);
|
|
|
| // Simulate an error by calling SetError() on |filter_1_|'s FilterHost
|
| // interface.
|
| @@ -576,7 +553,8 @@ TEST_F(CompositeFilterTest, TestFlushErrors) {
|
|
|
| // Expect error to be reported and "pause done" callback to be called.
|
| EXPECT_CALL(*mock_filter_host_, SetError(PIPELINE_ERROR_OUT_OF_MEMORY));
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| + EXPECT_CALL(*callback, RunWithParams(_));
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| RunFilter2Callback();
|
|
|
| @@ -601,9 +579,6 @@ TEST_F(CompositeFilterTest, TestSeek) {
|
| // Verify we can issue a Play() after the Seek().
|
| DoPlay();
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| // Try calling Seek() while playing to make sure we get an error.
|
| ExpectInvalidStateFail(SEEK);
|
|
|
| @@ -632,12 +607,11 @@ TEST_F(CompositeFilterTest, TestStop) {
|
|
|
| // Test error during Stop() sequence.
|
| SetupAndAdd2Filters();
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
|
|
| EXPECT_CALL(*filter_1_, Stop(_));
|
|
|
| - composite_->Stop(mock_callback->NewCallback());
|
| + StrictMock<MockCallback>* callback = new StrictMock<MockCallback>();
|
| + composite_->Stop(callback);
|
|
|
| // Have |filter_1_| signal an error.
|
| filter_1_->host()->SetError(PIPELINE_ERROR_READ);
|
| @@ -646,7 +620,8 @@ TEST_F(CompositeFilterTest, TestStop) {
|
|
|
| RunFilter1Callback();
|
|
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| + EXPECT_CALL(*callback, RunWithParams(_));
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| RunFilter2Callback();
|
| }
|
| @@ -657,21 +632,17 @@ TEST_F(CompositeFilterTest, TestStopWhilePlayPending) {
|
|
|
| SetupAndAdd2Filters();
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>());
|
| -
|
| EXPECT_CALL(*filter_1_, Play(_));
|
|
|
| - composite_->Play(mock_callback->NewCallback());
|
| + StrictMock<MockCallback>* callback = new StrictMock<MockCallback>();
|
| + composite_->Play(callback);
|
|
|
| // Note: Play() is pending on |filter_1_| right now.
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback_2(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| - EXPECT_CALL(*mock_callback, OnCallbackDestroyed());
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| - composite_->Stop(mock_callback_2->NewCallback());
|
| + callback = new StrictMock<MockCallback>();
|
| + composite_->Stop(callback);
|
|
|
| EXPECT_CALL(*filter_1_, Stop(_));
|
|
|
| @@ -683,7 +654,8 @@ TEST_F(CompositeFilterTest, TestStopWhilePlayPending) {
|
| // Run |filter_1_|'s callback again to indicate Stop() has completed.
|
| RunFilter1Callback();
|
|
|
| - EXPECT_CALL(*mock_callback_2, OnFilterCallback());
|
| + EXPECT_CALL(*callback, RunWithParams(_));
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| // Run |filter_2_|'s callback to indicate Stop() has completed.
|
| RunFilter2Callback();
|
| @@ -695,22 +667,18 @@ TEST_F(CompositeFilterTest, TestStopWhileFlushPending) {
|
|
|
| SetupAndAdd2Filters();
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>());
|
| -
|
| EXPECT_CALL(*filter_1_, Flush(_));
|
| EXPECT_CALL(*filter_2_, Flush(_));
|
|
|
| - composite_->Flush(mock_callback->NewCallback());
|
| + StrictMock<MockCallback>* callback = new StrictMock<MockCallback>();
|
| + composite_->Flush(callback);
|
|
|
| // Note: |filter_1_| and |filter_2_| have pending Flush() calls at this point.
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback_2(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| - EXPECT_CALL(*mock_callback, OnCallbackDestroyed());
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| - composite_->Stop(mock_callback_2->NewCallback());
|
| + callback = new StrictMock<MockCallback>();
|
| + composite_->Stop(callback);
|
|
|
| // Run callback to indicate that |filter_1_|'s Flush() has completed.
|
| RunFilter1Callback();
|
| @@ -725,7 +693,8 @@ TEST_F(CompositeFilterTest, TestStopWhileFlushPending) {
|
| // Run callback to indicate that |filter_1_|'s Stop() has completed.
|
| RunFilter1Callback();
|
|
|
| - EXPECT_CALL(*mock_callback_2, OnFilterCallback());
|
| + EXPECT_CALL(*callback, RunWithParams(_));
|
| + EXPECT_CALL(*callback, Destructor());
|
|
|
| // Run callback to indicate that |filter_2_|'s Stop() has completed.
|
| RunFilter2Callback();
|
| @@ -767,33 +736,24 @@ TEST_F(CompositeFilterTest, TestEmptyComposite) {
|
|
|
| composite_->set_host(mock_filter_host_.get());
|
|
|
| - scoped_ptr<StrictMock<MockFilterCallback> > mock_callback(
|
| - new StrictMock<MockFilterCallback>(false));
|
| -
|
| // Issue a Play() and expect no errors.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| - composite_->Play(mock_callback->NewCallback());
|
| + composite_->Play(NewExpectedCallback());
|
|
|
| // Issue a Pause() and expect no errors.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| - composite_->Pause(mock_callback->NewCallback());
|
| + composite_->Pause(NewExpectedCallback());
|
|
|
| // Issue a Flush() and expect no errors.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| - composite_->Flush(mock_callback->NewCallback());
|
| + composite_->Flush(NewExpectedCallback());
|
|
|
| // Issue a Seek() and expect no errors.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| composite_->Seek(base::TimeDelta::FromSeconds(5),
|
| - mock_callback->NewCallback());
|
| + NewExpectedCallback());
|
|
|
| // Issue a Play() and expect no errors.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| - composite_->Play(mock_callback->NewCallback());
|
| + composite_->Play(NewExpectedCallback());
|
|
|
| // Issue a Stop() and expect no errors.
|
| - EXPECT_CALL(*mock_callback, OnFilterCallback());
|
| - composite_->Stop(mock_callback->NewCallback());
|
| + composite_->Stop(NewExpectedCallback());
|
| }
|
|
|
| } // namespace media
|
|
|