Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(524)

Side by Side Diff: media/base/mock_filters.h

Issue 5527003: Rename MediaFilter and MediaFilterCollection to Filter and FilterCollection, respectively. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src
Patch Set: Missed a few more Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/base/media_format.h ('k') | media/base/pipeline.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // A new breed of mock media filters, this time using gmock! Feel free to add 5 // A new breed of mock media filters, this time using gmock! Feel free to add
6 // actions if you need interesting side-effects (i.e., copying data to the 6 // actions if you need interesting side-effects (i.e., copying data to the
7 // buffer passed into MockDataSource::Read()). 7 // buffer passed into MockDataSource::Read()).
8 // 8 //
9 // Don't forget you can use StrictMock<> and NiceMock<> if you want the mock 9 // Don't forget you can use StrictMock<> and NiceMock<> if you want the mock
10 // filters to fail the test or do nothing when an unexpected method is called. 10 // filters to fail the test or do nothing when an unexpected method is called.
11 // http://code.google.com/p/googlemock/wiki/CookBook#Nice_Mocks_and_Strict_Mocks 11 // http://code.google.com/p/googlemock/wiki/CookBook#Nice_Mocks_and_Strict_Mocks
12 12
13 #ifndef MEDIA_BASE_MOCK_FILTERS_H_ 13 #ifndef MEDIA_BASE_MOCK_FILTERS_H_
14 #define MEDIA_BASE_MOCK_FILTERS_H_ 14 #define MEDIA_BASE_MOCK_FILTERS_H_
15 15
16 #include <string> 16 #include <string>
17 17
18 #include "base/callback.h" 18 #include "base/callback.h"
19 #include "media/base/filters.h" 19 #include "media/base/filters.h"
20 #include "media/base/media_filter_collection.h" 20 #include "media/base/filter_collection.h"
21 #include "media/base/video_frame.h" 21 #include "media/base/video_frame.h"
22 #include "testing/gmock/include/gmock/gmock.h" 22 #include "testing/gmock/include/gmock/gmock.h"
23 23
24 namespace media { 24 namespace media {
25 25
26 // Use this template to test for object destruction by setting expectations on 26 // Use this template to test for object destruction by setting expectations on
27 // the method OnDestroy(). 27 // the method OnDestroy().
28 // 28 //
29 // TODO(scherkus): not sure about the naming... perhaps contribute this back 29 // TODO(scherkus): not sure about the naming... perhaps contribute this back
30 // to gmock itself! 30 // to gmock itself!
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 DISALLOW_COPY_AND_ASSIGN(CallbackImpl); 87 DISALLOW_COPY_AND_ASSIGN(CallbackImpl);
88 }; 88 };
89 89
90 DISALLOW_COPY_AND_ASSIGN(MockFilterCallback); 90 DISALLOW_COPY_AND_ASSIGN(MockFilterCallback);
91 }; 91 };
92 92
93 class MockDataSource : public DataSource { 93 class MockDataSource : public DataSource {
94 public: 94 public:
95 MockDataSource() {} 95 MockDataSource() {}
96 96
97 // MediaFilter implementation. 97 // Filter implementation.
98 MOCK_METHOD1(Stop, void(FilterCallback* callback)); 98 MOCK_METHOD1(Stop, void(FilterCallback* callback));
99 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); 99 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate));
100 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); 100 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback));
101 MOCK_METHOD0(OnAudioRendererDisabled, void()); 101 MOCK_METHOD0(OnAudioRendererDisabled, void());
102 102
103 // DataSource implementation. 103 // DataSource implementation.
104 MOCK_METHOD1(IsUrlSupported, bool(const std::string& url)); 104 MOCK_METHOD1(IsUrlSupported, bool(const std::string& url));
105 MOCK_METHOD2(Initialize, void(const std::string& url, 105 MOCK_METHOD2(Initialize, void(const std::string& url,
106 FilterCallback* callback)); 106 FilterCallback* callback));
107 MOCK_METHOD0(media_format, const MediaFormat&()); 107 MOCK_METHOD0(media_format, const MediaFormat&());
108 MOCK_METHOD4(Read, void(int64 position, size_t size, uint8* data, 108 MOCK_METHOD4(Read, void(int64 position, size_t size, uint8* data,
109 DataSource::ReadCallback* callback)); 109 DataSource::ReadCallback* callback));
110 MOCK_METHOD1(GetSize, bool(int64* size_out)); 110 MOCK_METHOD1(GetSize, bool(int64* size_out));
111 MOCK_METHOD0(IsStreaming, bool()); 111 MOCK_METHOD0(IsStreaming, bool());
112 112
113 protected: 113 protected:
114 virtual ~MockDataSource() {} 114 virtual ~MockDataSource() {}
115 115
116 private: 116 private:
117 DISALLOW_COPY_AND_ASSIGN(MockDataSource); 117 DISALLOW_COPY_AND_ASSIGN(MockDataSource);
118 }; 118 };
119 119
120 class MockDemuxer : public Demuxer { 120 class MockDemuxer : public Demuxer {
121 public: 121 public:
122 MockDemuxer() {} 122 MockDemuxer() {}
123 123
124 // MediaFilter implementation. 124 // Filter implementation.
125 MOCK_METHOD1(Stop, void(FilterCallback* callback)); 125 MOCK_METHOD1(Stop, void(FilterCallback* callback));
126 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); 126 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate));
127 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); 127 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback));
128 MOCK_METHOD0(OnAudioRendererDisabled, void()); 128 MOCK_METHOD0(OnAudioRendererDisabled, void());
129 129
130 // Demuxer implementation. 130 // Demuxer implementation.
131 MOCK_METHOD2(Initialize, void(DataSource* data_source, 131 MOCK_METHOD2(Initialize, void(DataSource* data_source,
132 FilterCallback* callback)); 132 FilterCallback* callback));
133 MOCK_METHOD0(GetNumberOfStreams, size_t()); 133 MOCK_METHOD0(GetNumberOfStreams, size_t());
134 MOCK_METHOD1(GetStream, scoped_refptr<DemuxerStream>(int stream_id)); 134 MOCK_METHOD1(GetStream, scoped_refptr<DemuxerStream>(int stream_id));
(...skipping 21 matching lines...) Expand all
156 private: 156 private:
157 MediaFormat media_format_; 157 MediaFormat media_format_;
158 158
159 DISALLOW_COPY_AND_ASSIGN(MockDemuxerStream); 159 DISALLOW_COPY_AND_ASSIGN(MockDemuxerStream);
160 }; 160 };
161 161
162 class MockVideoDecoder : public VideoDecoder { 162 class MockVideoDecoder : public VideoDecoder {
163 public: 163 public:
164 MockVideoDecoder() {} 164 MockVideoDecoder() {}
165 165
166 // MediaFilter implementation. 166 // Filter implementation.
167 MOCK_METHOD1(Stop, void(FilterCallback* callback)); 167 MOCK_METHOD1(Stop, void(FilterCallback* callback));
168 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); 168 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate));
169 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); 169 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback));
170 MOCK_METHOD0(OnAudioRendererDisabled, void()); 170 MOCK_METHOD0(OnAudioRendererDisabled, void());
171 171
172 // VideoDecoder implementation. 172 // VideoDecoder implementation.
173 MOCK_METHOD2(Initialize, void(DemuxerStream* stream, 173 MOCK_METHOD2(Initialize, void(DemuxerStream* stream,
174 FilterCallback* callback)); 174 FilterCallback* callback));
175 MOCK_METHOD0(media_format, const MediaFormat&()); 175 MOCK_METHOD0(media_format, const MediaFormat&());
176 MOCK_METHOD1(ProduceVideoFrame, void(scoped_refptr<VideoFrame>)); 176 MOCK_METHOD1(ProduceVideoFrame, void(scoped_refptr<VideoFrame>));
177 MOCK_METHOD0(ProvidesBuffer, bool()); 177 MOCK_METHOD0(ProvidesBuffer, bool());
178 178
179 // Make this method public so that tests can make use of it. 179 // Make this method public so that tests can make use of it.
180 void VideoFrameReady(scoped_refptr<VideoFrame> frame) { 180 void VideoFrameReady(scoped_refptr<VideoFrame> frame) {
181 VideoDecoder::VideoFrameReady(frame); 181 VideoDecoder::VideoFrameReady(frame);
182 } 182 }
183 183
184 protected: 184 protected:
185 virtual ~MockVideoDecoder() {} 185 virtual ~MockVideoDecoder() {}
186 186
187 private: 187 private:
188 DISALLOW_COPY_AND_ASSIGN(MockVideoDecoder); 188 DISALLOW_COPY_AND_ASSIGN(MockVideoDecoder);
189 }; 189 };
190 190
191 class MockAudioDecoder : public AudioDecoder { 191 class MockAudioDecoder : public AudioDecoder {
192 public: 192 public:
193 MockAudioDecoder() {} 193 MockAudioDecoder() {}
194 194
195 // MediaFilter implementation. 195 // Filter implementation.
196 MOCK_METHOD1(Stop, void(FilterCallback* callback)); 196 MOCK_METHOD1(Stop, void(FilterCallback* callback));
197 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); 197 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate));
198 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); 198 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback));
199 MOCK_METHOD0(OnAudioRendererDisabled, void()); 199 MOCK_METHOD0(OnAudioRendererDisabled, void());
200 200
201 // AudioDecoder implementation. 201 // AudioDecoder implementation.
202 MOCK_METHOD2(Initialize, void(DemuxerStream* stream, 202 MOCK_METHOD2(Initialize, void(DemuxerStream* stream,
203 FilterCallback* callback)); 203 FilterCallback* callback));
204 MOCK_METHOD0(media_format, const MediaFormat&()); 204 MOCK_METHOD0(media_format, const MediaFormat&());
205 MOCK_METHOD1(ProduceAudioSamples, void(scoped_refptr<Buffer>)); 205 MOCK_METHOD1(ProduceAudioSamples, void(scoped_refptr<Buffer>));
206 206
207 // change to public to allow unittest for access; 207 // change to public to allow unittest for access;
208 ConsumeAudioSamplesCallback* consume_audio_samples_callback() { 208 ConsumeAudioSamplesCallback* consume_audio_samples_callback() {
209 return AudioDecoder::consume_audio_samples_callback(); 209 return AudioDecoder::consume_audio_samples_callback();
210 } 210 }
211 211
212 protected: 212 protected:
213 virtual ~MockAudioDecoder() {} 213 virtual ~MockAudioDecoder() {}
214 214
215 private: 215 private:
216 DISALLOW_COPY_AND_ASSIGN(MockAudioDecoder); 216 DISALLOW_COPY_AND_ASSIGN(MockAudioDecoder);
217 }; 217 };
218 218
219 class MockVideoRenderer : public VideoRenderer { 219 class MockVideoRenderer : public VideoRenderer {
220 public: 220 public:
221 MockVideoRenderer() {} 221 MockVideoRenderer() {}
222 222
223 // MediaFilter implementation. 223 // Filter implementation.
224 MOCK_METHOD1(Stop, void(FilterCallback* callback)); 224 MOCK_METHOD1(Stop, void(FilterCallback* callback));
225 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); 225 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate));
226 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); 226 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback));
227 MOCK_METHOD0(OnAudioRendererDisabled, void()); 227 MOCK_METHOD0(OnAudioRendererDisabled, void());
228 228
229 // VideoRenderer implementation. 229 // VideoRenderer implementation.
230 MOCK_METHOD2(Initialize, void(VideoDecoder* decoder, 230 MOCK_METHOD2(Initialize, void(VideoDecoder* decoder,
231 FilterCallback* callback)); 231 FilterCallback* callback));
232 MOCK_METHOD0(HasEnded, bool()); 232 MOCK_METHOD0(HasEnded, bool());
233 MOCK_METHOD1(ConsumeVideoFrame, void(scoped_refptr<VideoFrame> frame)); 233 MOCK_METHOD1(ConsumeVideoFrame, void(scoped_refptr<VideoFrame> frame));
234 234
235 protected: 235 protected:
236 virtual ~MockVideoRenderer() {} 236 virtual ~MockVideoRenderer() {}
237 237
238 private: 238 private:
239 DISALLOW_COPY_AND_ASSIGN(MockVideoRenderer); 239 DISALLOW_COPY_AND_ASSIGN(MockVideoRenderer);
240 }; 240 };
241 241
242 class MockAudioRenderer : public AudioRenderer { 242 class MockAudioRenderer : public AudioRenderer {
243 public: 243 public:
244 MockAudioRenderer() {} 244 MockAudioRenderer() {}
245 245
246 // MediaFilter implementation. 246 // Filter implementation.
247 MOCK_METHOD1(Stop, void(FilterCallback* callback)); 247 MOCK_METHOD1(Stop, void(FilterCallback* callback));
248 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); 248 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate));
249 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); 249 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback));
250 MOCK_METHOD0(OnAudioRendererDisabled, void()); 250 MOCK_METHOD0(OnAudioRendererDisabled, void());
251 251
252 // AudioRenderer implementation. 252 // AudioRenderer implementation.
253 MOCK_METHOD2(Initialize, void(AudioDecoder* decoder, 253 MOCK_METHOD2(Initialize, void(AudioDecoder* decoder,
254 FilterCallback* callback)); 254 FilterCallback* callback));
255 MOCK_METHOD0(HasEnded, bool()); 255 MOCK_METHOD0(HasEnded, bool());
256 MOCK_METHOD1(SetVolume, void(float volume)); 256 MOCK_METHOD1(SetVolume, void(float volume));
(...skipping 21 matching lines...) Expand all
278 virtual ~MockFilterCollection() {} 278 virtual ~MockFilterCollection() {}
279 279
280 // Mock accessors. 280 // Mock accessors.
281 MockDataSource* data_source() const { return data_source_; } 281 MockDataSource* data_source() const { return data_source_; }
282 MockDemuxer* demuxer() const { return demuxer_; } 282 MockDemuxer* demuxer() const { return demuxer_; }
283 MockVideoDecoder* video_decoder() const { return video_decoder_; } 283 MockVideoDecoder* video_decoder() const { return video_decoder_; }
284 MockAudioDecoder* audio_decoder() const { return audio_decoder_; } 284 MockAudioDecoder* audio_decoder() const { return audio_decoder_; }
285 MockVideoRenderer* video_renderer() const { return video_renderer_; } 285 MockVideoRenderer* video_renderer() const { return video_renderer_; }
286 MockAudioRenderer* audio_renderer() const { return audio_renderer_; } 286 MockAudioRenderer* audio_renderer() const { return audio_renderer_; }
287 287
288 MediaFilterCollection* filter_collection() const { 288 FilterCollection* filter_collection() const {
289 return filter_collection(true); 289 return filter_collection(true);
290 } 290 }
291 291
292 MediaFilterCollection* filter_collection(bool include_data_source) const { 292 FilterCollection* filter_collection(bool include_data_source) const {
293 MediaFilterCollection* collection = new MediaFilterCollection(); 293 FilterCollection* collection = new FilterCollection();
294 294
295 if (include_data_source) { 295 if (include_data_source) {
296 collection->AddDataSource(data_source_); 296 collection->AddDataSource(data_source_);
297 } 297 }
298 collection->AddDemuxer(demuxer_); 298 collection->AddDemuxer(demuxer_);
299 collection->AddVideoDecoder(video_decoder_); 299 collection->AddVideoDecoder(video_decoder_);
300 collection->AddAudioDecoder(audio_decoder_); 300 collection->AddAudioDecoder(audio_decoder_);
301 collection->AddVideoRenderer(video_renderer_); 301 collection->AddVideoRenderer(video_renderer_);
302 collection->AddAudioRenderer(audio_renderer_); 302 collection->AddAudioRenderer(audio_renderer_);
303 return collection; 303 return collection;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 354
355 // Helper gmock action that calls DisableAudioRenderer() on behalf of the 355 // Helper gmock action that calls DisableAudioRenderer() on behalf of the
356 // provided filter. 356 // provided filter.
357 ACTION_P(DisableAudioRenderer, filter) { 357 ACTION_P(DisableAudioRenderer, filter) {
358 filter->host()->DisableAudioRenderer(); 358 filter->host()->DisableAudioRenderer();
359 } 359 }
360 360
361 } // namespace media 361 } // namespace media
362 362
363 #endif // MEDIA_BASE_MOCK_FILTERS_H_ 363 #endif // MEDIA_BASE_MOCK_FILTERS_H_
OLDNEW
« no previous file with comments | « media/base/media_format.h ('k') | media/base/pipeline.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698