1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_PUBLIC_TEST_FAKE_SPEECH_RECOGNTION_MANAGER_H_ 6 #define CONTENT_PUBLIC_TEST_FAKE_SPEECH_RECOGNTION_MANAGER_H_ 7 8 #include "base/callback_forward.h" 9 #include "content/public/browser/speech_recognition_manager.h" 10 #include "content/public/browser/speech_recognition_session_config.h" 11 #include "content/public/browser/speech_recognition_session_context.h" 12 13 namespace content { 14 15 // Fake SpeechRecognitionManager class that can be used for tests. 16 // By default the recognition manager will respond with "Pictures of the moon" 17 // as recognized result from speech. This result can be overridden by calling 18 // SetFakeResult(). 19 class FakeSpeechRecognitionManager : public SpeechRecognitionManager { 20 public: 21 FakeSpeechRecognitionManager(); 22 virtual ~FakeSpeechRecognitionManager(); 23 grammar()24 const std::string& grammar() const { 25 return grammar_; 26 } 27 did_cancel_all()28 bool did_cancel_all() { 29 return did_cancel_all_; 30 } 31 set_should_send_fake_response(bool send)32 void set_should_send_fake_response(bool send) { 33 should_send_fake_response_ = send; 34 } 35 should_send_fake_response()36 bool should_send_fake_response() { 37 return should_send_fake_response_; 38 } 39 40 void WaitForRecognitionStarted(); 41 42 void SetFakeResult(const std::string& result); 43 44 // SpeechRecognitionManager methods. 45 virtual int CreateSession( 46 const SpeechRecognitionSessionConfig& config) OVERRIDE; 47 virtual void StartSession(int session_id) OVERRIDE; 48 virtual void AbortSession(int session_id) OVERRIDE; 49 virtual void StopAudioCaptureForSession(int session_id) OVERRIDE; 50 virtual void AbortAllSessionsForRenderProcess(int render_process_id) OVERRIDE; 51 virtual void AbortAllSessionsForRenderView(int render_process_id, 52 int render_view_id) OVERRIDE; 53 virtual bool HasAudioInputDevices() OVERRIDE; 54 virtual base::string16 GetAudioInputDeviceModel() OVERRIDE; ShowAudioInputSettings()55 virtual void ShowAudioInputSettings() OVERRIDE {} 56 virtual int GetSession(int render_process_id, 57 int render_view_id, 58 int request_id) const OVERRIDE; 59 virtual const SpeechRecognitionSessionConfig& GetSessionConfig( 60 int session_id) const OVERRIDE; 61 virtual SpeechRecognitionSessionContext GetSessionContext( 62 int session_id) const OVERRIDE; 63 64 private: 65 void SetFakeRecognitionResult(); 66 67 int session_id_; 68 SpeechRecognitionEventListener* listener_; 69 SpeechRecognitionSessionConfig session_config_; 70 SpeechRecognitionSessionContext session_ctx_; 71 std::string fake_result_; 72 std::string grammar_; 73 bool did_cancel_all_; 74 bool should_send_fake_response_; 75 base::Closure recognition_started_closure_; 76 77 DISALLOW_COPY_AND_ASSIGN(FakeSpeechRecognitionManager); 78 }; 79 80 } // namespace content 81 82 #endif // CONTENT_PUBLIC_TEST_FAKE_SPEECH_RECOGNTION_MANAGER_H_ 83