Index: media/base/mock_filters.h |
diff --git a/media/base/mock_filters.h b/media/base/mock_filters.h |
index 3b1deb31e9ddbd6599110f90ecb3861a5e574981..3be6109b1a91a0bb850577624c8563356e040769 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() : run_destroy_callback_(true) { |
+ } |
+ |
+ MockFilterCallback(bool run_destroy_callback) : |
+ run_destroy_callback_(run_destroy_callback) { |
scherkus (not reviewing)
2010/12/20 20:36:21
nit: de-indent two spaces
|
+ } |
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, run_destroy_callback_); |
} |
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 run_destroy_callback) |
+ : mock_callback_(mock_callback), |
+ run_destroy_callback_(run_destroy_callback) { |
} |
virtual ~CallbackImpl() { |
- mock_callback_->OnCallbackDestroyed(); |
+ if (run_destroy_callback_) |
+ mock_callback_->OnCallbackDestroyed(); |
} |
virtual void RunWithParams(const Tuple0& params) { |
@@ -83,13 +91,41 @@ class MockFilterCallback { |
private: |
MockFilterCallback* mock_callback_; |
+ bool run_destroy_callback_; |
DISALLOW_COPY_AND_ASSIGN(CallbackImpl); |
}; |
+ bool run_destroy_callback_; |
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() {} |