| Index: content/browser/speech/speech_recognition_request_unittest.cc
|
| diff --git a/content/browser/speech/speech_recognition_request_unittest.cc b/content/browser/speech/speech_recognition_request_unittest.cc
|
| index a5d75c4caa9822cf5a71499f1e1ea7c90c0b8f81..36f5b35eb2f8ad135fad0f682f28a7cf213edbdf 100644
|
| --- a/content/browser/speech/speech_recognition_request_unittest.cc
|
| +++ b/content/browser/speech/speech_recognition_request_unittest.cc
|
| @@ -22,7 +22,7 @@ class SpeechRecognitionRequestTest : public SpeechRecognitionRequestDelegate,
|
|
|
| // SpeechRecognitionRequestDelegate methods.
|
| virtual void SetRecognitionResult(bool error,
|
| - const SpeechInputResultArray& result) {
|
| + const SpeechInputResult& result) {
|
| error_ = error;
|
| result_ = result;
|
| }
|
| @@ -31,7 +31,7 @@ class SpeechRecognitionRequestTest : public SpeechRecognitionRequestDelegate,
|
| MessageLoop message_loop_;
|
| TestURLFetcherFactory url_fetcher_factory_;
|
| bool error_;
|
| - SpeechInputResultArray result_;
|
| + SpeechInputResult result_;
|
| };
|
|
|
| void SpeechRecognitionRequestTest::CreateAndTestRequest(
|
| @@ -58,37 +58,50 @@ void SpeechRecognitionRequestTest::CreateAndTestRequest(
|
| TEST_F(SpeechRecognitionRequestTest, BasicTest) {
|
| // Normal success case with one result.
|
| CreateAndTestRequest(true,
|
| - "{\"hypotheses\":[{\"utterance\":\"123456\",\"confidence\":0.9}]}");
|
| + "{\"status\":0,\"hypotheses\":"
|
| + "[{\"utterance\":\"123456\",\"confidence\":0.9}]}");
|
| EXPECT_FALSE(error_);
|
| - EXPECT_EQ(1U, result_.size());
|
| - EXPECT_EQ(ASCIIToUTF16("123456"), result_[0].utterance);
|
| - EXPECT_EQ(0.9, result_[0].confidence);
|
| + EXPECT_EQ(1U, result_.hypotheses.size());
|
| + EXPECT_EQ(ASCIIToUTF16("123456"), result_.hypotheses[0].utterance);
|
| + EXPECT_EQ(0.9, result_.hypotheses[0].confidence);
|
|
|
| // Normal success case with multiple results.
|
| CreateAndTestRequest(true,
|
| - "{\"hypotheses\":[{\"utterance\":\"hello\",\"confidence\":0.9},"
|
| + "{\"status\":0,\"hypotheses\":["
|
| + "{\"utterance\":\"hello\",\"confidence\":0.9},"
|
| "{\"utterance\":\"123456\",\"confidence\":0.5}]}");
|
| EXPECT_FALSE(error_);
|
| - EXPECT_EQ(2u, result_.size());
|
| - EXPECT_EQ(ASCIIToUTF16("hello"), result_[0].utterance);
|
| - EXPECT_EQ(0.9, result_[0].confidence);
|
| - EXPECT_EQ(ASCIIToUTF16("123456"), result_[1].utterance);
|
| - EXPECT_EQ(0.5, result_[1].confidence);
|
| + EXPECT_EQ(2u, result_.hypotheses.size());
|
| + EXPECT_EQ(ASCIIToUTF16("hello"), result_.hypotheses[0].utterance);
|
| + EXPECT_EQ(0.9, result_.hypotheses[0].confidence);
|
| + EXPECT_EQ(ASCIIToUTF16("123456"), result_.hypotheses[1].utterance);
|
| + EXPECT_EQ(0.5, result_.hypotheses[1].confidence);
|
|
|
| // Zero results.
|
| - CreateAndTestRequest(true, "{\"hypotheses\":[]}");
|
| + CreateAndTestRequest(true, "{\"status\":0,\"hypotheses\":[]}");
|
| EXPECT_FALSE(error_);
|
| - EXPECT_EQ(0U, result_.size());
|
| + EXPECT_EQ(0U, result_.hypotheses.size());
|
|
|
| // Http failure case.
|
| CreateAndTestRequest(false, "");
|
| EXPECT_TRUE(error_);
|
| - EXPECT_EQ(0U, result_.size());
|
| + EXPECT_EQ(0U, result_.hypotheses.size());
|
| +
|
| + // Invalid status case.
|
| + CreateAndTestRequest(true, "{\"status\":\"invalid\",\"hypotheses\":[]}");
|
| + EXPECT_TRUE(error_);
|
| + EXPECT_EQ(0U, result_.hypotheses.size());
|
| +
|
| + // Server-side error case.
|
| + CreateAndTestRequest(true, "{\"status\":1,\"hypotheses\":[]}");
|
| + EXPECT_TRUE(error_);
|
| + EXPECT_EQ(0U, result_.hypotheses.size());
|
|
|
| // Malformed JSON case.
|
| - CreateAndTestRequest(true, "{\"hypotheses\":[{\"unknownkey\":\"hello\"}]}");
|
| + CreateAndTestRequest(true, "{\"status\":0,\"hypotheses\":"
|
| + "[{\"unknownkey\":\"hello\"}]}");
|
| EXPECT_TRUE(error_);
|
| - EXPECT_EQ(0U, result_.size());
|
| + EXPECT_EQ(0U, result_.hypotheses.size());
|
| }
|
|
|
| } // namespace speech_input
|
|
|