Chromium Code Reviews| Index: media/base/mock_filters.h |
| diff --git a/media/base/mock_filters.h b/media/base/mock_filters.h |
| index 3b1deb31e9ddbd6599110f90ecb3861a5e574981..60b793c3be8f0bec59ef996ac9c5c284bd600063 100644 |
| --- a/media/base/mock_filters.h |
| +++ b/media/base/mock_filters.h |
| @@ -50,7 +50,12 @@ class Destroyable : public MockClass { |
| // gmock will track the number of times the methods are executed. |
| class MockFilterCallback { |
| public: |
| - MockFilterCallback() {} |
| + MockFilterCallback() : callOnCallbackDestroyed_(true) { |
|
scherkus (not reviewing)
2010/12/16 18:43:39
callOnCallbackDestroyed_ -> call_on_callback_destr
acolwell GONE FROM CHROMIUM
2010/12/20 17:43:22
Done.
|
| + } |
| + |
| + MockFilterCallback(bool callOnCallbackDestroyed) : |
| + callOnCallbackDestroyed_(callOnCallbackDestroyed) { |
| + } |
| virtual ~MockFilterCallback() {} |
| MOCK_METHOD0(OnCallbackDestroyed, void()); |
| @@ -61,7 +66,7 @@ class MockFilterCallback { |
| // destroyed. Clients should use NiceMock<> or StrictMock<> depending on the |
| // test. |
| FilterCallback* NewCallback() { |
| - return new CallbackImpl(this); |
| + return new CallbackImpl(this, callOnCallbackDestroyed_); |
| } |
| private: |
| @@ -69,12 +74,15 @@ class MockFilterCallback { |
| // MockFilterCallback. |
| class CallbackImpl : public CallbackRunner<Tuple0> { |
| public: |
| - explicit CallbackImpl(MockFilterCallback* mock_callback) |
| - : mock_callback_(mock_callback) { |
| + explicit CallbackImpl(MockFilterCallback* mock_callback, |
| + bool callOnCallbackDestroyed) |
| + : mock_callback_(mock_callback), |
| + callOnCallbackDestroyed_(callOnCallbackDestroyed) { |
| } |
| virtual ~CallbackImpl() { |
| - mock_callback_->OnCallbackDestroyed(); |
| + if (callOnCallbackDestroyed_) |
| + mock_callback_->OnCallbackDestroyed(); |
| } |
| virtual void RunWithParams(const Tuple0& params) { |
| @@ -83,13 +91,41 @@ class MockFilterCallback { |
| private: |
| MockFilterCallback* mock_callback_; |
| + bool callOnCallbackDestroyed_; |
| DISALLOW_COPY_AND_ASSIGN(CallbackImpl); |
| }; |
| + bool callOnCallbackDestroyed_; |
| DISALLOW_COPY_AND_ASSIGN(MockFilterCallback); |
| }; |
| +class MockFilter : public Filter { |
| + public: |
| + MockFilter(); |
| + MockFilter(bool requires_message_loop); |
| + |
| + // Filter implementation. |
| + virtual bool requires_message_loop() const; |
| + virtual const char* message_loop_name() const; |
| + |
| + MOCK_METHOD1(Play, void(FilterCallback* callback)); |
| + MOCK_METHOD1(Pause, void(FilterCallback* callback)); |
| + MOCK_METHOD1(Flush, void(FilterCallback* callback)); |
| + MOCK_METHOD1(Stop, void(FilterCallback* callback)); |
| + MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); |
| + MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); |
| + MOCK_METHOD0(OnAudioRendererDisabled, void()); |
| + |
| + protected: |
| + virtual ~MockFilter(); |
| + |
| + private: |
| + bool requires_message_loop_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(MockFilter); |
| +}; |
| + |
| class MockDataSource : public DataSource { |
| public: |
| MockDataSource() {} |