| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/speech/google_streaming_remote_engine.h" |
| 6 |
| 5 #include <stddef.h> | 7 #include <stddef.h> |
| 6 #include <stdint.h> | 8 #include <stdint.h> |
| 7 | 9 |
| 10 #include <memory> |
| 8 #include <queue> | 11 #include <queue> |
| 9 | 12 |
| 10 #include "base/big_endian.h" | 13 #include "base/big_endian.h" |
| 11 #include "base/memory/scoped_ptr.h" | |
| 12 #include "base/message_loop/message_loop.h" | 14 #include "base/message_loop/message_loop.h" |
| 13 #include "base/numerics/safe_conversions.h" | 15 #include "base/numerics/safe_conversions.h" |
| 14 #include "base/strings/utf_string_conversions.h" | 16 #include "base/strings/utf_string_conversions.h" |
| 15 #include "base/sys_byteorder.h" | 17 #include "base/sys_byteorder.h" |
| 16 #include "content/browser/speech/audio_buffer.h" | 18 #include "content/browser/speech/audio_buffer.h" |
| 17 #include "content/browser/speech/google_streaming_remote_engine.h" | |
| 18 #include "content/browser/speech/proto/google_streaming_api.pb.h" | 19 #include "content/browser/speech/proto/google_streaming_api.pb.h" |
| 19 #include "content/public/common/speech_recognition_error.h" | 20 #include "content/public/common/speech_recognition_error.h" |
| 20 #include "content/public/common/speech_recognition_result.h" | 21 #include "content/public/common/speech_recognition_result.h" |
| 21 #include "net/base/net_errors.h" | 22 #include "net/base/net_errors.h" |
| 22 #include "net/url_request/test_url_fetcher_factory.h" | 23 #include "net/url_request/test_url_fetcher_factory.h" |
| 23 #include "net/url_request/url_request_context_getter.h" | 24 #include "net/url_request/url_request_context_getter.h" |
| 24 #include "net/url_request/url_request_status.h" | 25 #include "net/url_request/url_request_status.h" |
| 25 #include "testing/gtest/include/gtest/gtest.h" | 26 #include "testing/gtest/include/gtest/gtest.h" |
| 26 | 27 |
| 27 using base::HostToNet32; | 28 using base::HostToNet32; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 void InjectDummyAudioChunk(); | 88 void InjectDummyAudioChunk(); |
| 88 size_t UpstreamChunksUploadedFromLastCall(); | 89 size_t UpstreamChunksUploadedFromLastCall(); |
| 89 std::string LastUpstreamChunkUploaded(); | 90 std::string LastUpstreamChunkUploaded(); |
| 90 void ProvideMockProtoResultDownstream( | 91 void ProvideMockProtoResultDownstream( |
| 91 const proto::SpeechRecognitionEvent& result); | 92 const proto::SpeechRecognitionEvent& result); |
| 92 void ProvideMockResultDownstream(const SpeechRecognitionResult& result); | 93 void ProvideMockResultDownstream(const SpeechRecognitionResult& result); |
| 93 void ExpectResultsReceived(const SpeechRecognitionResults& result); | 94 void ExpectResultsReceived(const SpeechRecognitionResults& result); |
| 94 void ExpectFramedChunk(const std::string& chunk, uint32_t type); | 95 void ExpectFramedChunk(const std::string& chunk, uint32_t type); |
| 95 void CloseMockDownstream(DownstreamError error); | 96 void CloseMockDownstream(DownstreamError error); |
| 96 | 97 |
| 97 scoped_ptr<GoogleStreamingRemoteEngine> engine_under_test_; | 98 std::unique_ptr<GoogleStreamingRemoteEngine> engine_under_test_; |
| 98 TestURLFetcherFactory url_fetcher_factory_; | 99 TestURLFetcherFactory url_fetcher_factory_; |
| 99 size_t last_number_of_upstream_chunks_seen_; | 100 size_t last_number_of_upstream_chunks_seen_; |
| 100 base::MessageLoop message_loop_; | 101 base::MessageLoop message_loop_; |
| 101 std::string response_buffer_; | 102 std::string response_buffer_; |
| 102 SpeechRecognitionErrorCode error_; | 103 SpeechRecognitionErrorCode error_; |
| 103 int end_of_utterance_counter_; | 104 int end_of_utterance_counter_; |
| 104 std::queue<SpeechRecognitionResults> results_; | 105 std::queue<SpeechRecognitionResults> results_; |
| 105 }; | 106 }; |
| 106 | 107 |
| 107 TEST_F(GoogleStreamingRemoteEngineTest, SingleDefinitiveResult) { | 108 TEST_F(GoogleStreamingRemoteEngineTest, SingleDefinitiveResult) { |
| (...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 596 | 597 |
| 597 // Prepend 4 byte prefix length indication to the protobuf message as | 598 // Prepend 4 byte prefix length indication to the protobuf message as |
| 598 // envisaged by the google streaming recognition webservice protocol. | 599 // envisaged by the google streaming recognition webservice protocol. |
| 599 uint32_t prefix = HostToNet32(checked_cast<uint32_t>(msg_string.size())); | 600 uint32_t prefix = HostToNet32(checked_cast<uint32_t>(msg_string.size())); |
| 600 msg_string.insert(0, reinterpret_cast<char*>(&prefix), sizeof(prefix)); | 601 msg_string.insert(0, reinterpret_cast<char*>(&prefix), sizeof(prefix)); |
| 601 | 602 |
| 602 return msg_string; | 603 return msg_string; |
| 603 } | 604 } |
| 604 | 605 |
| 605 } // namespace content | 606 } // namespace content |
| OLD | NEW |