Chromium Code Reviews| Index: content/browser/speech/speech_recognizer_impl_unittest.cc |
| diff --git a/content/browser/speech/speech_recognizer_impl_unittest.cc b/content/browser/speech/speech_recognizer_impl_unittest.cc |
| index d93fdcf75babfb960dfd36652ad1b1cb3b66a1ca..fffc26da619ef8e3614aaecec3eea8eb1b83ab77 100644 |
| --- a/content/browser/speech/speech_recognizer_impl_unittest.cc |
| +++ b/content/browser/speech/speech_recognizer_impl_unittest.cc |
| @@ -7,8 +7,10 @@ |
| #include <vector> |
| +#include "base/sys_byteorder.h" |
| #include "content/browser/browser_thread_impl.h" |
| -#include "content/browser/speech/google_one_shot_remote_engine.h" |
| +#include "content/browser/speech/google_streaming_remote_engine.h" |
| +#include "content/browser/speech/proto/google_streaming_api.pb.h" |
|
Primiano Tucci (use gerrit)
2016/04/13 17:50:05
Just checking: does this require now a dependency
hans
2016/04/13 17:55:41
The dependency is already there because of content
|
| #include "content/browser/speech/speech_recognizer_impl.h" |
| #include "content/public/browser/speech_recognition_event_listener.h" |
| #include "media/audio/audio_manager_base.h" |
| @@ -48,7 +50,7 @@ class SpeechRecognizerImplTest : public SpeechRecognitionEventListener, |
| volume_(-1.0f) { |
| // SpeechRecognizer takes ownership of sr_engine. |
| SpeechRecognitionEngine* sr_engine = |
| - new GoogleOneShotRemoteEngine(NULL /* URLRequestContextGetter */); |
| + new GoogleStreamingRemoteEngine(NULL /* URLRequestContextGetter */); |
| SpeechRecognitionEngineConfig config; |
| config.audio_num_bits_per_sample = |
| SpeechRecognizerImpl::kNumBitsPerAudioSample; |
| @@ -65,7 +67,7 @@ class SpeechRecognizerImplTest : public SpeechRecognitionEventListener, |
| int audio_packet_length_bytes = |
| (SpeechRecognizerImpl::kAudioSampleRate * |
| - GoogleOneShotRemoteEngine::kAudioPacketIntervalMs * |
| + GoogleStreamingRemoteEngine::kAudioPacketIntervalMs * |
| ChannelLayoutToChannelCount(SpeechRecognizerImpl::kChannelLayout) * |
| SpeechRecognizerImpl::kNumBitsPerAudioSample) / (8 * 1000); |
| audio_packet_.resize(audio_packet_length_bytes); |
| @@ -258,16 +260,31 @@ TEST_F(SpeechRecognizerImplTest, StopWithData) { |
| EXPECT_FALSE(result_received_); |
| EXPECT_EQ(SPEECH_RECOGNITION_ERROR_NONE, error_); |
| + // Create a response string. |
| + proto::SpeechRecognitionEvent proto_event; |
| + proto_event.set_status(proto::SpeechRecognitionEvent::STATUS_SUCCESS); |
| + proto::SpeechRecognitionResult* proto_result = proto_event.add_result(); |
| + proto_result->set_final(true); |
| + proto::SpeechRecognitionAlternative* proto_alternative = |
| + proto_result->add_alternative(); |
| + proto_alternative->set_confidence(0.5f); |
| + proto_alternative->set_transcript("123"); |
| + std::string msg_string; |
| + proto_event.SerializeToString(&msg_string); |
| + uint32_t prefix = |
| + base::HostToNet32(base::checked_cast<uint32_t>(msg_string.size())); |
| + msg_string.insert(0, reinterpret_cast<char*>(&prefix), sizeof(prefix)); |
| + |
| // Issue the network callback to complete the process. |
| - net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); |
| + net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID( |
| + GoogleStreamingRemoteEngine::kDownstreamUrlFetcherIdForTesting); |
| ASSERT_TRUE(fetcher); |
| - |
| fetcher->set_url(fetcher->GetOriginalURL()); |
| fetcher->set_status(net::URLRequestStatus()); |
| fetcher->set_response_code(200); |
| - fetcher->SetResponseString( |
| - "{\"status\":0,\"hypotheses\":[{\"utterance\":\"123\"}]}"); |
| + fetcher->SetResponseString(msg_string); |
| fetcher->delegate()->OnURLFetchComplete(fetcher); |
| + |
| base::MessageLoop::current()->RunUntilIdle(); |
| EXPECT_TRUE(recognition_ended_); |
| EXPECT_TRUE(result_received_); |
| @@ -410,7 +427,7 @@ TEST_F(SpeechRecognizerImplTest, NoSpeechCallbackIssued) { |
| ASSERT_TRUE(controller); |
| int num_packets = (SpeechRecognizerImpl::kNoSpeechTimeoutMs) / |
| - GoogleOneShotRemoteEngine::kAudioPacketIntervalMs + 1; |
| + GoogleStreamingRemoteEngine::kAudioPacketIntervalMs + 1; |
| // The vector is already filled with zero value samples on create. |
| for (int i = 0; i < num_packets; ++i) { |
| controller->event_handler()->OnData(controller, audio_bus_.get()); |
| @@ -437,7 +454,7 @@ TEST_F(SpeechRecognizerImplTest, NoSpeechCallbackNotIssued) { |
| ASSERT_TRUE(controller); |
| int num_packets = (SpeechRecognizerImpl::kNoSpeechTimeoutMs) / |
| - GoogleOneShotRemoteEngine::kAudioPacketIntervalMs; |
| + GoogleStreamingRemoteEngine::kAudioPacketIntervalMs; |
| // The vector is already filled with zero value samples on create. |
| for (int i = 0; i < num_packets / 2; ++i) { |
| @@ -474,7 +491,7 @@ TEST_F(SpeechRecognizerImplTest, SetInputVolumeCallback) { |
| // Feed some samples to begin with for the endpointer to do noise estimation. |
| int num_packets = SpeechRecognizerImpl::kEndpointerEstimationTimeMs / |
| - GoogleOneShotRemoteEngine::kAudioPacketIntervalMs; |
| + GoogleStreamingRemoteEngine::kAudioPacketIntervalMs; |
| FillPacketWithNoise(); |
| for (int i = 0; i < num_packets; ++i) { |
| controller->event_handler()->OnData(controller, audio_bus_.get()); |