| Index: content/browser/speech/speech_recognizer_unittest.cc
|
| diff --git a/content/browser/speech/speech_recognizer_unittest.cc b/content/browser/speech/speech_recognizer_unittest.cc
|
| index 4b162598e5db2f7ff0d348dbcdc7c887541bd772..c7c7e91c83da029e90fbdc686ec4c46eccf1053b 100644
|
| --- a/content/browser/speech/speech_recognizer_unittest.cc
|
| +++ b/content/browser/speech/speech_recognizer_unittest.cc
|
| @@ -138,9 +138,21 @@ TEST_F(SpeechRecognizerTest, StopWithData) {
|
| ASSERT_TRUE(controller);
|
| controller = audio_input_controller_factory_.controller();
|
| ASSERT_TRUE(controller);
|
| - controller->event_handler()->OnData(controller, &audio_packet_[0],
|
| - audio_packet_.size());
|
| - MessageLoop::current()->RunAllPending();
|
| +
|
| + // Try sending 5 chunks of mock audio data and verify that each of them
|
| + // resulted immediately in a packet sent out via the network. This verifies
|
| + // that we are streaming out encoded data as chunks without waiting for the
|
| + // full recording to complete.
|
| + const size_t kNumChunks = 5;
|
| + for (size_t i = 0; i < kNumChunks; ++i) {
|
| + controller->event_handler()->OnData(controller, &audio_packet_[0],
|
| + audio_packet_.size());
|
| + MessageLoop::current()->RunAllPending();
|
| + TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0);
|
| + ASSERT_TRUE(fetcher);
|
| + EXPECT_EQ(i + 1, fetcher->upload_chunks().size());
|
| + }
|
| +
|
| recognizer_->StopRecording();
|
| EXPECT_TRUE(recording_complete_);
|
| EXPECT_FALSE(recognition_complete_);
|
| @@ -161,8 +173,8 @@ TEST_F(SpeechRecognizerTest, StopWithData) {
|
| }
|
|
|
| TEST_F(SpeechRecognizerTest, CancelWithData) {
|
| - // Start recording, give some data and then cancel. This should not create
|
| - // a network request and finish immediately.
|
| + // Start recording, give some data and then cancel. This should create
|
| + // a network request but give no callbacks.
|
| EXPECT_TRUE(recognizer_->StartRecording());
|
| TestAudioInputController* controller =
|
| audio_input_controller_factory_.controller();
|
| @@ -171,7 +183,7 @@ TEST_F(SpeechRecognizerTest, CancelWithData) {
|
| audio_packet_.size());
|
| MessageLoop::current()->RunAllPending();
|
| recognizer_->CancelRecognition();
|
| - EXPECT_EQ(NULL, url_fetcher_factory_.GetFetcherByID(0));
|
| + ASSERT_TRUE(url_fetcher_factory_.GetFetcherByID(0));
|
| EXPECT_FALSE(recording_complete_);
|
| EXPECT_FALSE(recognition_complete_);
|
| EXPECT_FALSE(result_received_);
|
| @@ -203,7 +215,7 @@ TEST_F(SpeechRecognizerTest, AudioControllerErrorWithData) {
|
| audio_packet_.size());
|
| controller->event_handler()->OnError(controller, 0);
|
| MessageLoop::current()->RunAllPending();
|
| - EXPECT_EQ(NULL, url_fetcher_factory_.GetFetcherByID(0));
|
| + ASSERT_TRUE(url_fetcher_factory_.GetFetcherByID(0));
|
| EXPECT_FALSE(recording_complete_);
|
| EXPECT_FALSE(recognition_complete_);
|
| EXPECT_FALSE(result_received_);
|
|
|