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 24 const std::string& grammar() const { 25 return grammar_; 26 } 27 28 bool did_cancel_all() { 29 return did_cancel_all_; 30 } 31 32 void set_should_send_fake_response(bool send) { 33 should_send_fake_response_ = send; 34 } 35 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 AbortAllSessionsForListener( 51 SpeechRecognitionEventListener* listener) OVERRIDE; 52 virtual void AbortAllSessionsForRenderView(int render_process_id, 53 int render_view_id) OVERRIDE; 54 virtual bool HasAudioInputDevices() OVERRIDE; 55 virtual string16 GetAudioInputDeviceModel() OVERRIDE; 56 virtual void ShowAudioInputSettings() OVERRIDE {} 57 virtual int GetSession(int render_process_id, 58 int render_view_id, 59 int request_id) const OVERRIDE; 60 virtual const SpeechRecognitionSessionConfig& GetSessionConfig( 61 int session_id) const OVERRIDE; 62 virtual SpeechRecognitionSessionContext GetSessionContext( 63 int session_id) const OVERRIDE; 64 65 private: 66 void SetFakeRecognitionResult(); 67 68 int session_id_; 69 SpeechRecognitionEventListener* listener_; 70 SpeechRecognitionSessionConfig session_config_; 71 SpeechRecognitionSessionContext session_ctx_; 72 std::string fake_result_; 73 std::string grammar_; 74 bool did_cancel_all_; 75 bool should_send_fake_response_; 76 base::Closure recognition_started_closure_; 77 78 DISALLOW_COPY_AND_ASSIGN(FakeSpeechRecognitionManager); 79 }; 80 81 } // namespace content 82 83 #endif // CONTENT_PUBLIC_TEST_FAKE_SPEECH_RECOGNTION_MANAGER_H_ 84