summaryrefslogtreecommitdiffstats
path: root/content/browser/speech/speech_recognizer_unittest.cc
diff options
context:
space:
mode:
authorprimiano@chromium.org <primiano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-12 11:19:31 +0000
committerprimiano@chromium.org <primiano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-12 11:19:31 +0000
commit7a9497110188e5473173b87f1481d17eb87ba3d8 (patch)
tree1ff8b18455a9ba62ff70920d7f3bb6d0ffc0ac9d /content/browser/speech/speech_recognizer_unittest.cc
parentb26305b415e6f241a906e4f3bfc781187198b5d0 (diff)
downloadchromium_src-7a9497110188e5473173b87f1481d17eb87ba3d8.zip
chromium_src-7a9497110188e5473173b87f1481d17eb87ba3d8.tar.gz
chromium_src-7a9497110188e5473173b87f1481d17eb87ba3d8.tar.bz2
Small refactor to media architecture in order to allow end-to-end tests.
- Introduced the class MockAudioManager that will be used by upcoming speech recognition tests. - Added interface TestAudioInputController::Delegate, which allows to intercept Record/Close events. - Added audio_manager_for_tests_ static field in SpeechRecognizer to inject the MockAudioManager during tests. BUG=116954 TEST=none Review URL: https://chromiumcodereview.appspot.com/10704154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146316 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/speech/speech_recognizer_unittest.cc')
-rw-r--r--content/browser/speech/speech_recognizer_unittest.cc69
1 files changed, 4 insertions, 65 deletions
diff --git a/content/browser/speech/speech_recognizer_unittest.cc b/content/browser/speech/speech_recognizer_unittest.cc
index 8631217..bd39c19 100644
--- a/content/browser/speech/speech_recognizer_unittest.cc
+++ b/content/browser/speech/speech_recognizer_unittest.cc
@@ -8,7 +8,7 @@
#include "content/browser/speech/google_one_shot_remote_engine.h"
#include "content/browser/speech/speech_recognizer.h"
#include "content/public/browser/speech_recognition_event_listener.h"
-#include "media/audio/audio_manager.h"
+#include "media/audio/mock_audio_manager.h"
#include "media/audio/fake_audio_input_stream.h"
#include "media/audio/fake_audio_output_stream.h"
#include "media/audio/test_audio_input_controller_factory.h"
@@ -28,68 +28,6 @@ using media::AudioParameters;
using media::TestAudioInputController;
using media::TestAudioInputControllerFactory;
-namespace {
-
-class MockAudioManager : public media::AudioManagerBase {
- public:
- MockAudioManager() {
- audio_thread_.reset(new base::Thread("MockAudioThread"));
- CHECK(audio_thread_->Start());
- }
- virtual bool HasAudioOutputDevices() OVERRIDE { return true; }
- virtual bool HasAudioInputDevices() OVERRIDE { return true; }
- virtual string16 GetAudioInputDeviceModel() OVERRIDE { return string16(); }
- virtual bool CanShowAudioInputSettings() OVERRIDE { return false; }
- virtual void ShowAudioInputSettings() OVERRIDE {}
- virtual void GetAudioInputDeviceNames(
- media::AudioDeviceNames* device_names) OVERRIDE {}
- virtual AudioOutputStream* MakeAudioOutputStream(
- const AudioParameters& params) OVERRIDE {
- return media::FakeAudioOutputStream::MakeFakeStream(this, params);
- }
- virtual AudioOutputStream* MakeAudioOutputStreamProxy(
- const AudioParameters& params) OVERRIDE {
- NOTREACHED();
- return NULL;
- }
- virtual AudioInputStream* MakeAudioInputStream(
- const AudioParameters& params, const std::string& device_id) OVERRIDE {
- return media::FakeAudioInputStream::MakeFakeStream(this, params);
- }
- virtual AudioOutputStream* MakeLinearOutputStream(
- const AudioParameters& params) OVERRIDE {
- NOTREACHED();
- return NULL;
- }
- virtual AudioOutputStream* MakeLowLatencyOutputStream(
- const AudioParameters& params) OVERRIDE {
- NOTREACHED();
- return NULL;
- }
- virtual AudioInputStream* MakeLinearInputStream(
- const AudioParameters& params, const std::string& device_id) OVERRIDE {
- NOTREACHED();
- return NULL;
- }
- virtual AudioInputStream* MakeLowLatencyInputStream(
- const AudioParameters& params, const std::string& device_id) OVERRIDE {
- NOTREACHED();
- return NULL;
- }
- virtual void MuteAll() OVERRIDE {}
- virtual void UnMuteAll() OVERRIDE {}
- virtual bool IsRecordingInProcess() OVERRIDE { return false; }
- virtual scoped_refptr<base::MessageLoopProxy> GetMessageLoop() OVERRIDE {
- return audio_thread_->message_loop_proxy();
- }
- virtual void Init() OVERRIDE {};
- private:
- scoped_ptr<base::Thread> audio_thread_;
- DISALLOW_COPY_AND_ASSIGN(MockAudioManager);
-};
-} // namespace
-
-
namespace speech {
class SpeechRecognizerTest : public content::SpeechRecognitionEventListener,
@@ -97,7 +35,6 @@ class SpeechRecognizerTest : public content::SpeechRecognitionEventListener,
public:
SpeechRecognizerTest()
: io_thread_(BrowserThread::IO, &message_loop_),
- audio_manager_(new MockAudioManager()),
recognition_started_(false),
recognition_ended_(false),
result_received_(false),
@@ -120,7 +57,9 @@ class SpeechRecognizerTest : public content::SpeechRecognitionEventListener,
const bool kOneShotMode = true;
recognizer_ = new SpeechRecognizer(
this, kTestingSessionId, kOneShotMode, sr_engine);
- recognizer_->SetAudioManagerForTesting(audio_manager_.get());
+ audio_manager_.reset(new media::MockAudioManager(
+ MessageLoop::current()->message_loop_proxy()));
+ recognizer_->SetAudioManagerForTests(audio_manager_.get());
int audio_packet_length_bytes =
(SpeechRecognizer::kAudioSampleRate *