| Index: chrome/browser/autocomplete/search_provider_unittest.cc
|
| diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc b/chrome/browser/autocomplete/search_provider_unittest.cc
|
| index bae74a73fa47250bd597ca52fd6e952f8bc8bbe8..6ae49e0c609145e8e30eb8483420feef5a62e319 100644
|
| --- a/chrome/browser/autocomplete/search_provider_unittest.cc
|
| +++ b/chrome/browser/autocomplete/search_provider_unittest.cc
|
| @@ -3748,9 +3748,35 @@ TEST_F(SearchProviderTest, PrefetchMetadataParsing) {
|
| }
|
| }
|
|
|
| +TEST_F(SearchProviderTest, XSSIGuardedJSONParsing_InvalidResponse) {
|
| + ClearAllResults();
|
| +
|
| + std::string input_str("abc");
|
| + QueryForInput(ASCIIToUTF16(input_str), false, false);
|
| +
|
| + // Set up a default fetcher with provided results.
|
| + net::TestURLFetcher* fetcher =
|
| + test_factory_.GetFetcherByID(
|
| + SearchProvider::kDefaultProviderURLFetcherID);
|
| + ASSERT_TRUE(fetcher);
|
| + fetcher->set_response_code(200);
|
| + fetcher->SetResponseString("this is a bad non-json response");
|
| + fetcher->delegate()->OnURLFetchComplete(fetcher);
|
| +
|
| + RunTillProviderDone();
|
| +
|
| + const ACMatches& matches = provider_->matches();
|
| +
|
| + // Should have exactly one "search what you typed" match
|
| + ASSERT_TRUE(matches.size() == 1);
|
| + EXPECT_EQ(input_str, UTF16ToUTF8(matches[0].contents));
|
| + EXPECT_EQ(AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED,
|
| + matches[0].type);
|
| +}
|
| +
|
| // A basic test that verifies that the XSSI guarded JSON response is parsed
|
| // correctly.
|
| -TEST_F(SearchProviderTest, XSSIGuardedJSONParsing) {
|
| +TEST_F(SearchProviderTest, XSSIGuardedJSONParsing_ValidResponses) {
|
| struct Match {
|
| std::string contents;
|
| AutocompleteMatchType::Type type;
|
|
|