diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-09 04:24:17 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-09 04:24:17 +0000 |
commit | 3222e481e8bd6e542419d6d97ae26382f571e71d (patch) | |
tree | 7867b287f983d8374f7ffa0cd569d150c76b29dc /media/base | |
parent | 91ecb071fa284d802254834fb0e0400eb762078f (diff) | |
download | chromium_src-3222e481e8bd6e542419d6d97ae26382f571e71d.zip chromium_src-3222e481e8bd6e542419d6d97ae26382f571e71d.tar.gz chromium_src-3222e481e8bd6e542419d6d97ae26382f571e71d.tar.bz2 |
Updated FFmpegDemuxerTest and FFmpegVideoDecoderTest to use the gmock-based MockFilterHost.
Also deleted the old MockPipeline and MockFilterHost code as it has been completely deprecated.
BUG=16008
TEST=FFmpegDemuxerTest and FFmpegVideoDecoderTest
Review URL: http://codereview.chromium.org/149366
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20242 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base')
-rw-r--r-- | media/base/mock_filter_host.h | 107 | ||||
-rw-r--r-- | media/base/mock_filters.h | 3 | ||||
-rw-r--r-- | media/base/mock_pipeline.h | 181 |
3 files changed, 1 insertions, 290 deletions
diff --git a/media/base/mock_filter_host.h b/media/base/mock_filter_host.h index 3cc5860..c926437 100644 --- a/media/base/mock_filter_host.h +++ b/media/base/mock_filter_host.h @@ -5,9 +5,6 @@ // A FilterHost implementation based on gmock. Combined with setting a message // loop on a filter, permits single-threaded testing of filters without // requiring a pipeline. -// -// TODO(scherkus): Remove old_mocks::MockFilterHost as soon as other tests have -// transitioned over to the new gmock-based MockFilterHost. #ifndef MEDIA_BASE_MOCK_FILTER_HOST_H_ #define MEDIA_BASE_MOCK_FILTER_HOST_H_ @@ -20,7 +17,6 @@ #include "media/base/filter_host.h" #include "media/base/filters.h" #include "media/base/media_format.h" -#include "media/base/mock_pipeline.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -45,109 +41,6 @@ class MockFilterHost : public FilterHost { DISALLOW_COPY_AND_ASSIGN(MockFilterHost); }; -namespace old_mocks { - -// This version is deprecated. -template <class Filter> -class MockFilterHost : public FilterHost { - public: - MockFilterHost(MockPipeline* mock_pipeline, Filter* filter) - : mock_pipeline_(mock_pipeline), - filter_(filter), - initialized_(false), - error_(PIPELINE_OK), - wait_for_initialized_(false, false), - wait_for_error_(false, false) { - EXPECT_TRUE(mock_pipeline_); - EXPECT_TRUE(filter_); - filter_->SetFilterHost(this); - } - - virtual ~MockFilterHost() {} - - virtual void InitializationComplete() { - EXPECT_FALSE(initialized_); - initialized_ = true; - wait_for_initialized_.Signal(); - } - - virtual void Error(PipelineError error) { - error_ = error; - mock_pipeline_->Error(error); - wait_for_error_.Signal(); - } - - virtual base::TimeDelta GetTime() const { - return mock_pipeline_->GetTime(); - } - - virtual void SetTime(base::TimeDelta time) { - mock_pipeline_->SetTime(time); - } - - virtual void SetDuration(base::TimeDelta duration) { - mock_pipeline_->SetDuration(duration); - } - - virtual void SetBufferedTime(base::TimeDelta buffered_time) { - mock_pipeline_->SetBufferedTime(buffered_time); - } - - virtual void SetTotalBytes(int64 total_bytes) { - mock_pipeline_->SetTotalBytes(total_bytes); - } - - virtual void SetBufferedBytes(int64 buffered_bytes) { - mock_pipeline_->SetBufferedBytes(buffered_bytes); - } - - virtual void SetVideoSize(size_t width, size_t height) { - mock_pipeline_->SetVideoSize(width, height); - } - - bool IsInitialized() const { - return initialized_; - } - - bool WaitForInitialized() { - const base::TimeDelta kTimedWait = base::TimeDelta::FromMilliseconds(500); - while (!initialized_) { - if (!wait_for_initialized_.TimedWait(kTimedWait)) { - return false; - } - } - return true; - } - - bool WaitForError(PipelineError error) { - const base::TimeDelta kTimedWait = base::TimeDelta::FromMilliseconds(500); - while (error_ != error) { - if (!wait_for_error_.TimedWait(kTimedWait)) { - return false; - } - } - return true; - } - - private: - MockPipeline* mock_pipeline_; - scoped_refptr<Filter> filter_; - - // Tracks if the filter has executed InitializationComplete(). - bool initialized_; - - // Tracks the last pipeline error set by the filter. - PipelineError error_; - - // Allows unit tests to wait for particular conditions before asserting. - base::WaitableEvent wait_for_initialized_; - base::WaitableEvent wait_for_error_; - - DISALLOW_COPY_AND_ASSIGN(MockFilterHost); -}; - -} // namespace old_mocks - } // namespace media #endif // MEDIA_BASE_MOCK_FILTER_HOST_H_ diff --git a/media/base/mock_filters.h b/media/base/mock_filters.h index c45f8e6..07bb34e 100644 --- a/media/base/mock_filters.h +++ b/media/base/mock_filters.h @@ -13,6 +13,7 @@ #ifndef MEDIA_BASE_MOCK_FILTERS_H_ #define MEDIA_BASE_MOCK_FILTERS_H_ +#include "media/base/factory.h" #include "media/base/filters.h" #include "testing/gmock/include/gmock/gmock.h" @@ -163,8 +164,6 @@ class MockAudioRenderer : public AudioRenderer { // FilterFactory that returns canned instances of mock filters. You can set // expectations on the filters and then pass the factory into a pipeline. -// -// TODO(scherkus): add the other filter types. class MockFilterFactory : public FilterFactory { public: MockFilterFactory() diff --git a/media/base/mock_pipeline.h b/media/base/mock_pipeline.h deleted file mode 100644 index 01061c3..0000000 --- a/media/base/mock_pipeline.h +++ /dev/null @@ -1,181 +0,0 @@ -// Copyright (c) 2009 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. - -// Mock implementation of Pipeline. Simply provides getters/setters for every -// pipeline state variable and queues all tasks posted to the "pipeline thread." -// Since there actually isn't a separate thread unit tests can control when -// they want to execute queued tasks by calling RunAllTasks(), which helps to -// assert pre- and post-conditions. - -#ifndef MEDIA_BASE_MOCK_PIPELINE_H_ -#define MEDIA_BASE_MOCK_PIPELINE_H_ - -#include <deque> -#include <string> - -#include "base/message_loop.h" -#include "media/base/media_format.h" -#include "media/base/pipeline.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace media { - -class MockPipeline : public media::Pipeline { - public: - MockPipeline() { - Reset(false); - } - - virtual ~MockPipeline() {} - - // Implementation of PipelineStatus interface. - virtual bool IsInitialized() const { - return initialized_; - } - - virtual base::TimeDelta GetDuration() const { - return duration_; - } - - virtual base::TimeDelta GetBufferedTime() const { - return buffered_time_; - } - - virtual int64 GetTotalBytes() const { - return total_bytes_; - } - - virtual int64 GetBufferedBytes() const { - return buffered_bytes_; - } - - virtual void GetVideoSize(size_t* width_out, size_t* height_out) const { - *width_out = width_; - *height_out = height_; - } - - virtual float GetVolume() const { - return volume_; - } - - virtual float GetPlaybackRate() const { - return playback_rate_; - } - - virtual base::TimeDelta GetTime() const { - return time_; - } - - virtual base::TimeDelta GetInterpolatedTime() const { - return time_; - } - - virtual PipelineError GetError() const { - return error_; - } - - virtual bool IsRendered(const std::string&) const { - return true; - } - - // Implementation of Pipeline interface. - virtual bool Start(FilterFactory* filter_factory, - const std::string& url, - PipelineCallback* init_complete_callback) { - EXPECT_FALSE(initialized_); - initialized_ = true; - if (init_complete_callback) { - init_complete_callback->Run(true); - delete init_complete_callback; - } - return true; - } - - virtual void Stop() { - EXPECT_TRUE(initialized_ || error_ != media::PIPELINE_OK); - Reset(false); - } - - virtual void SetPlaybackRate(float playback_rate) { - playback_rate_ = playback_rate; - } - - virtual void Seek(base::TimeDelta time, - PipelineCallback* seek_complete_callback) { - time_ = time; - } - - virtual void SetVolume(float volume) { - volume_ = volume; - } - - // Public methods used by tests and by MockFilterHost to manipulate the - // state of the mock pipeline. - - // Set the state to the same as a newly created MockPipeline. If - // |reset_to_initialized| is true then the pipeline's |initialized_| state - // will be true when this method returns. - void Reset(bool reset_to_initialized) { - error_ = media::PIPELINE_OK; - volume_ = 1.0f; - playback_rate_ = 0.0f; - initialized_ = reset_to_initialized; - time_ = base::TimeDelta(); - duration_ = base::TimeDelta(); - buffered_time_ = base::TimeDelta(); - width_ = 0; - height_ = 0; - buffered_bytes_ = 0; - total_bytes_ = 0; - } - - void Error(media::PipelineError error) { - initialized_ = false; - error_ = error; - } - - void SetTime(base::TimeDelta time) { - time_ = time; - } - - virtual void SetDuration(base::TimeDelta duration) { - duration_ = duration; - } - - virtual void SetBufferedTime(base::TimeDelta buffered_time) { - buffered_time = buffered_time; - } - - virtual void SetTotalBytes(int64 total_bytes) { - total_bytes_ = total_bytes; - } - - virtual void SetBufferedBytes(int64 buffered_bytes) { - buffered_bytes_ = buffered_bytes; - } - - virtual void SetVideoSize(size_t width, size_t height) { - width_ = width; - height_ = height; - } - - private: - PipelineError error_; - float volume_; - float playback_rate_; - bool initialized_; - base::TimeDelta time_; - base::TimeDelta duration_; - base::TimeDelta buffered_time_; - size_t width_; - size_t height_; - int64 buffered_bytes_; - int64 total_bytes_; - - DISALLOW_COPY_AND_ASSIGN(MockPipeline); -}; - -} // namespace media - -#endif // MEDIA_BASE_MOCK_PIPELINE_H_ |