OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <list> | 5 #include <list> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 kIdle, | 37 kIdle, |
38 kTestAudioControllerOpened, | 38 kTestAudioControllerOpened, |
39 kClientConnected, | 39 kClientConnected, |
40 kClientAudioUpload, | 40 kClientAudioUpload, |
41 kClientAudioUploadComplete, | 41 kClientAudioUploadComplete, |
42 kTestAudioControllerClosed, | 42 kTestAudioControllerClosed, |
43 kClientDisconnected | 43 kClientDisconnected |
44 }; | 44 }; |
45 | 45 |
46 // MockGoogleStreamingServerDelegate methods. | 46 // MockGoogleStreamingServerDelegate methods. |
47 virtual void OnClientConnected() OVERRIDE { | 47 virtual void OnClientConnected() override { |
48 ASSERT_EQ(kTestAudioControllerOpened, streaming_server_state_); | 48 ASSERT_EQ(kTestAudioControllerOpened, streaming_server_state_); |
49 streaming_server_state_ = kClientConnected; | 49 streaming_server_state_ = kClientConnected; |
50 } | 50 } |
51 | 51 |
52 virtual void OnClientAudioUpload() OVERRIDE { | 52 virtual void OnClientAudioUpload() override { |
53 if (streaming_server_state_ == kClientConnected) | 53 if (streaming_server_state_ == kClientConnected) |
54 streaming_server_state_ = kClientAudioUpload; | 54 streaming_server_state_ = kClientAudioUpload; |
55 } | 55 } |
56 | 56 |
57 virtual void OnClientAudioUploadComplete() OVERRIDE { | 57 virtual void OnClientAudioUploadComplete() override { |
58 ASSERT_EQ(kTestAudioControllerClosed, streaming_server_state_); | 58 ASSERT_EQ(kTestAudioControllerClosed, streaming_server_state_); |
59 streaming_server_state_ = kClientAudioUploadComplete; | 59 streaming_server_state_ = kClientAudioUploadComplete; |
60 } | 60 } |
61 | 61 |
62 virtual void OnClientDisconnected() OVERRIDE { | 62 virtual void OnClientDisconnected() override { |
63 ASSERT_EQ(kClientAudioUploadComplete, streaming_server_state_); | 63 ASSERT_EQ(kClientAudioUploadComplete, streaming_server_state_); |
64 streaming_server_state_ = kClientDisconnected; | 64 streaming_server_state_ = kClientDisconnected; |
65 } | 65 } |
66 | 66 |
67 // media::TestAudioInputControllerDelegate methods. | 67 // media::TestAudioInputControllerDelegate methods. |
68 virtual void TestAudioControllerOpened( | 68 virtual void TestAudioControllerOpened( |
69 media::TestAudioInputController* controller) OVERRIDE { | 69 media::TestAudioInputController* controller) override { |
70 ASSERT_EQ(kIdle, streaming_server_state_); | 70 ASSERT_EQ(kIdle, streaming_server_state_); |
71 streaming_server_state_ = kTestAudioControllerOpened; | 71 streaming_server_state_ = kTestAudioControllerOpened; |
72 const int capture_packet_interval_ms = | 72 const int capture_packet_interval_ms = |
73 (1000 * controller->audio_parameters().frames_per_buffer()) / | 73 (1000 * controller->audio_parameters().frames_per_buffer()) / |
74 controller->audio_parameters().sample_rate(); | 74 controller->audio_parameters().sample_rate(); |
75 ASSERT_EQ(GoogleStreamingRemoteEngine::kAudioPacketIntervalMs, | 75 ASSERT_EQ(GoogleStreamingRemoteEngine::kAudioPacketIntervalMs, |
76 capture_packet_interval_ms); | 76 capture_packet_interval_ms); |
77 FeedAudioController(500 /* ms */, /*noise=*/ false); | 77 FeedAudioController(500 /* ms */, /*noise=*/ false); |
78 FeedAudioController(1000 /* ms */, /*noise=*/ true); | 78 FeedAudioController(1000 /* ms */, /*noise=*/ true); |
79 FeedAudioController(1000 /* ms */, /*noise=*/ false); | 79 FeedAudioController(1000 /* ms */, /*noise=*/ false); |
80 } | 80 } |
81 | 81 |
82 virtual void TestAudioControllerClosed( | 82 virtual void TestAudioControllerClosed( |
83 media::TestAudioInputController* controller) OVERRIDE { | 83 media::TestAudioInputController* controller) override { |
84 ASSERT_EQ(kClientAudioUpload, streaming_server_state_); | 84 ASSERT_EQ(kClientAudioUpload, streaming_server_state_); |
85 streaming_server_state_ = kTestAudioControllerClosed; | 85 streaming_server_state_ = kTestAudioControllerClosed; |
86 mock_streaming_server_->MockGoogleStreamingServer::SimulateResult( | 86 mock_streaming_server_->MockGoogleStreamingServer::SimulateResult( |
87 GetGoodSpeechResult()); | 87 GetGoodSpeechResult()); |
88 } | 88 } |
89 | 89 |
90 // Helper methods used by test fixtures. | 90 // Helper methods used by test fixtures. |
91 GURL GetTestUrlFromFragment(const std::string fragment) { | 91 GURL GetTestUrlFromFragment(const std::string fragment) { |
92 return GURL(GetTestUrl("speech", "web_speech_recognition.html").spec() + | 92 return GURL(GetTestUrl("speech", "web_speech_recognition.html").spec() + |
93 "#" + fragment); | 93 "#" + fragment); |
94 } | 94 } |
95 | 95 |
96 std::string GetPageFragment() { | 96 std::string GetPageFragment() { |
97 return shell()->web_contents()->GetURL().ref(); | 97 return shell()->web_contents()->GetURL().ref(); |
98 } | 98 } |
99 | 99 |
100 const StreamingServerState &streaming_server_state() { | 100 const StreamingServerState &streaming_server_state() { |
101 return streaming_server_state_; | 101 return streaming_server_state_; |
102 } | 102 } |
103 | 103 |
104 protected: | 104 protected: |
105 // ContentBrowserTest methods. | 105 // ContentBrowserTest methods. |
106 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 106 virtual void SetUpInProcessBrowserTestFixture() override { |
107 test_audio_input_controller_factory_.set_delegate(this); | 107 test_audio_input_controller_factory_.set_delegate(this); |
108 media::AudioInputController::set_factory_for_testing( | 108 media::AudioInputController::set_factory_for_testing( |
109 &test_audio_input_controller_factory_); | 109 &test_audio_input_controller_factory_); |
110 mock_streaming_server_.reset(new MockGoogleStreamingServer(this)); | 110 mock_streaming_server_.reset(new MockGoogleStreamingServer(this)); |
111 streaming_server_state_ = kIdle; | 111 streaming_server_state_ = kIdle; |
112 } | 112 } |
113 | 113 |
114 virtual void SetUpOnMainThread() OVERRIDE { | 114 virtual void SetUpOnMainThread() override { |
115 ASSERT_TRUE(SpeechRecognitionManagerImpl::GetInstance()); | 115 ASSERT_TRUE(SpeechRecognitionManagerImpl::GetInstance()); |
116 SpeechRecognizerImpl::SetAudioManagerForTesting( | 116 SpeechRecognizerImpl::SetAudioManagerForTesting( |
117 new media::MockAudioManager(BrowserThread::GetMessageLoopProxyForThread( | 117 new media::MockAudioManager(BrowserThread::GetMessageLoopProxyForThread( |
118 BrowserThread::IO))); | 118 BrowserThread::IO))); |
119 } | 119 } |
120 | 120 |
121 virtual void TearDownOnMainThread() OVERRIDE { | 121 virtual void TearDownOnMainThread() override { |
122 SpeechRecognizerImpl::SetAudioManagerForTesting(NULL); | 122 SpeechRecognizerImpl::SetAudioManagerForTesting(NULL); |
123 } | 123 } |
124 | 124 |
125 virtual void TearDownInProcessBrowserTestFixture() OVERRIDE { | 125 virtual void TearDownInProcessBrowserTestFixture() override { |
126 test_audio_input_controller_factory_.set_delegate(NULL); | 126 test_audio_input_controller_factory_.set_delegate(NULL); |
127 mock_streaming_server_.reset(); | 127 mock_streaming_server_.reset(); |
128 } | 128 } |
129 | 129 |
130 private: | 130 private: |
131 static void FeedSingleBufferToAudioController( | 131 static void FeedSingleBufferToAudioController( |
132 scoped_refptr<media::TestAudioInputController> controller, | 132 scoped_refptr<media::TestAudioInputController> controller, |
133 size_t buffer_size, | 133 size_t buffer_size, |
134 bool fill_with_noise) { | 134 bool fill_with_noise) { |
135 DCHECK(controller.get()); | 135 DCHECK(controller.get()); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 | 204 |
205 IN_PROC_BROWSER_TEST_F(SpeechRecognitionBrowserTest, OneShotRecognition) { | 205 IN_PROC_BROWSER_TEST_F(SpeechRecognitionBrowserTest, OneShotRecognition) { |
206 NavigateToURLBlockUntilNavigationsComplete( | 206 NavigateToURLBlockUntilNavigationsComplete( |
207 shell(), GetTestUrlFromFragment("oneshot"), 2); | 207 shell(), GetTestUrlFromFragment("oneshot"), 2); |
208 | 208 |
209 EXPECT_EQ(kClientDisconnected, streaming_server_state()); | 209 EXPECT_EQ(kClientDisconnected, streaming_server_state()); |
210 EXPECT_EQ("goodresult1", GetPageFragment()); | 210 EXPECT_EQ("goodresult1", GetPageFragment()); |
211 } | 211 } |
212 | 212 |
213 } // namespace content | 213 } // namespace content |
OLD | NEW |