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 "chrome/browser/autocomplete/search_provider.h" | 5 #include "chrome/browser/autocomplete/search_provider.h" |
6 | 6 |
7 #include "base/string_util.h" | 7 #include "base/string_util.h" |
8 #include "base/time.h" | 8 #include "base/time.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
11 #include "chrome/browser/autocomplete/autocomplete.h" | 11 #include "chrome/browser/autocomplete/autocomplete.h" |
12 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" | 12 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" |
13 #include "chrome/browser/autocomplete/autocomplete_match.h" | 13 #include "chrome/browser/autocomplete/autocomplete_match.h" |
14 #include "chrome/browser/history/history.h" | 14 #include "chrome/browser/history/history.h" |
15 #include "chrome/browser/history/history_service_factory.h" | 15 #include "chrome/browser/history/history_service_factory.h" |
16 #include "chrome/browser/prefs/pref_service.h" | 16 #include "chrome/browser/prefs/pref_service.h" |
17 #include "chrome/browser/search_engines/template_url.h" | 17 #include "chrome/browser/search_engines/template_url.h" |
18 #include "chrome/browser/search_engines/template_url_service.h" | 18 #include "chrome/browser/search_engines/template_url_service.h" |
19 #include "chrome/browser/search_engines/template_url_service_factory.h" | 19 #include "chrome/browser/search_engines/template_url_service_factory.h" |
20 #include "chrome/common/pref_names.h" | 20 #include "chrome/common/pref_names.h" |
21 #include "chrome/test/base/testing_browser_process.h" | 21 #include "chrome/test/base/testing_browser_process.h" |
22 #include "chrome/test/base/testing_profile.h" | 22 #include "chrome/test/base/testing_profile.h" |
23 #include "content/public/test/test_browser_thread.h" | 23 #include "content/public/test/test_browser_thread.h" |
24 #include "content/public/test/test_url_fetcher_factory.h" | 24 #include "net/url_request/test_url_fetcher_factory.h" |
25 #include "net/url_request/url_request_status.h" | 25 #include "net/url_request/url_request_status.h" |
26 #include "testing/gtest/include/gtest/gtest.h" | 26 #include "testing/gtest/include/gtest/gtest.h" |
27 | 27 |
28 using content::BrowserThread; | 28 using content::BrowserThread; |
29 | 29 |
30 // The following environment is configured for these tests: | 30 // The following environment is configured for these tests: |
31 // . The TemplateURL default_t_url_ is set as the default provider. | 31 // . The TemplateURL default_t_url_ is set as the default provider. |
32 // . The TemplateURL keyword_t_url_ is added to the TemplateURLService. This | 32 // . The TemplateURL keyword_t_url_ is added to the TemplateURLService. This |
33 // TemplateURL has a valid suggest and search URL. | 33 // TemplateURL has a valid suggest and search URL. |
34 // . The URL created by using the search term term1_ with default_t_url_ is | 34 // . The URL created by using the search term term1_ with default_t_url_ is |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 const string16 term1_; | 96 const string16 term1_; |
97 GURL term1_url_; | 97 GURL term1_url_; |
98 TemplateURL* keyword_t_url_; | 98 TemplateURL* keyword_t_url_; |
99 const string16 keyword_term_; | 99 const string16 keyword_term_; |
100 GURL keyword_url_; | 100 GURL keyword_url_; |
101 | 101 |
102 MessageLoopForUI message_loop_; | 102 MessageLoopForUI message_loop_; |
103 content::TestBrowserThread io_thread_; | 103 content::TestBrowserThread io_thread_; |
104 | 104 |
105 // URLFetcherFactory implementation registered. | 105 // URLFetcherFactory implementation registered. |
106 TestURLFetcherFactory test_factory_; | 106 net::TestURLFetcherFactory test_factory_; |
107 | 107 |
108 // Profile we use. | 108 // Profile we use. |
109 TestingProfile profile_; | 109 TestingProfile profile_; |
110 | 110 |
111 // The provider. | 111 // The provider. |
112 scoped_refptr<SearchProvider> provider_; | 112 scoped_refptr<SearchProvider> provider_; |
113 | 113 |
114 // If true, OnProviderUpdate exits out of the current message loop. | 114 // If true, OnProviderUpdate exits out of the current message loop. |
115 bool quit_when_done_; | 115 bool quit_when_done_; |
116 | 116 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 i != provider_->matches().end(); ++i) { | 257 i != provider_->matches().end(); ++i) { |
258 if (i->destination_url == url) { | 258 if (i->destination_url == url) { |
259 *match = *i; | 259 *match = *i; |
260 return true; | 260 return true; |
261 } | 261 } |
262 } | 262 } |
263 return false; | 263 return false; |
264 } | 264 } |
265 | 265 |
266 void SearchProviderTest::FinishDefaultSuggestQuery() { | 266 void SearchProviderTest::FinishDefaultSuggestQuery() { |
267 TestURLFetcher* default_fetcher = test_factory_.GetFetcherByID( | 267 net::TestURLFetcher* default_fetcher = test_factory_.GetFetcherByID( |
268 SearchProvider::kDefaultProviderURLFetcherID); | 268 SearchProvider::kDefaultProviderURLFetcherID); |
269 ASSERT_TRUE(default_fetcher); | 269 ASSERT_TRUE(default_fetcher); |
270 | 270 |
271 // Tell the SearchProvider the default suggest query is done. | 271 // Tell the SearchProvider the default suggest query is done. |
272 default_fetcher->set_response_code(200); | 272 default_fetcher->set_response_code(200); |
273 default_fetcher->delegate()->OnURLFetchComplete(default_fetcher); | 273 default_fetcher->delegate()->OnURLFetchComplete(default_fetcher); |
274 } | 274 } |
275 | 275 |
276 // Tests ----------------------------------------------------------------------- | 276 // Tests ----------------------------------------------------------------------- |
277 | 277 |
278 // Make sure we query history for the default provider and a URLFetcher is | 278 // Make sure we query history for the default provider and a URLFetcher is |
279 // created for the default provider suggest results. | 279 // created for the default provider suggest results. |
280 TEST_F(SearchProviderTest, QueryDefaultProvider) { | 280 TEST_F(SearchProviderTest, QueryDefaultProvider) { |
281 string16 term = term1_.substr(0, term1_.length() - 1); | 281 string16 term = term1_.substr(0, term1_.length() - 1); |
282 QueryForInput(term, string16(), false); | 282 QueryForInput(term, string16(), false); |
283 | 283 |
284 // Make sure the default providers suggest service was queried. | 284 // Make sure the default providers suggest service was queried. |
285 TestURLFetcher* fetcher = test_factory_.GetFetcherByID( | 285 net::TestURLFetcher* fetcher = test_factory_.GetFetcherByID( |
286 SearchProvider::kDefaultProviderURLFetcherID); | 286 SearchProvider::kDefaultProviderURLFetcherID); |
287 ASSERT_TRUE(fetcher); | 287 ASSERT_TRUE(fetcher); |
288 | 288 |
289 // And the URL matches what we expected. | 289 // And the URL matches what we expected. |
290 GURL expected_url(default_t_url_->suggestions_url_ref().ReplaceSearchTerms( | 290 GURL expected_url(default_t_url_->suggestions_url_ref().ReplaceSearchTerms( |
291 term, TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, string16())); | 291 term, TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, string16())); |
292 ASSERT_TRUE(fetcher->GetOriginalURL() == expected_url); | 292 ASSERT_TRUE(fetcher->GetOriginalURL() == expected_url); |
293 | 293 |
294 // Tell the SearchProvider the suggest query is done. | 294 // Tell the SearchProvider the suggest query is done. |
295 fetcher->set_response_code(200); | 295 fetcher->set_response_code(200); |
(...skipping 30 matching lines...) Expand all Loading... |
326 } | 326 } |
327 | 327 |
328 // Issues a query that matches the registered keyword and makes sure history | 328 // Issues a query that matches the registered keyword and makes sure history |
329 // is queried as well as URLFetchers getting created. | 329 // is queried as well as URLFetchers getting created. |
330 TEST_F(SearchProviderTest, QueryKeywordProvider) { | 330 TEST_F(SearchProviderTest, QueryKeywordProvider) { |
331 string16 term = keyword_term_.substr(0, keyword_term_.length() - 1); | 331 string16 term = keyword_term_.substr(0, keyword_term_.length() - 1); |
332 QueryForInput(keyword_t_url_->keyword() + UTF8ToUTF16(" ") + term, | 332 QueryForInput(keyword_t_url_->keyword() + UTF8ToUTF16(" ") + term, |
333 string16(), false); | 333 string16(), false); |
334 | 334 |
335 // Make sure the default providers suggest service was queried. | 335 // Make sure the default providers suggest service was queried. |
336 TestURLFetcher* default_fetcher = test_factory_.GetFetcherByID( | 336 net::TestURLFetcher* default_fetcher = test_factory_.GetFetcherByID( |
337 SearchProvider::kDefaultProviderURLFetcherID); | 337 SearchProvider::kDefaultProviderURLFetcherID); |
338 ASSERT_TRUE(default_fetcher); | 338 ASSERT_TRUE(default_fetcher); |
339 | 339 |
340 // Tell the SearchProvider the default suggest query is done. | 340 // Tell the SearchProvider the default suggest query is done. |
341 default_fetcher->set_response_code(200); | 341 default_fetcher->set_response_code(200); |
342 default_fetcher->delegate()->OnURLFetchComplete(default_fetcher); | 342 default_fetcher->delegate()->OnURLFetchComplete(default_fetcher); |
343 default_fetcher = NULL; | 343 default_fetcher = NULL; |
344 | 344 |
345 // Make sure the keyword providers suggest service was queried. | 345 // Make sure the keyword providers suggest service was queried. |
346 TestURLFetcher* keyword_fetcher = test_factory_.GetFetcherByID( | 346 net::TestURLFetcher* keyword_fetcher = test_factory_.GetFetcherByID( |
347 SearchProvider::kKeywordProviderURLFetcherID); | 347 SearchProvider::kKeywordProviderURLFetcherID); |
348 ASSERT_TRUE(keyword_fetcher); | 348 ASSERT_TRUE(keyword_fetcher); |
349 | 349 |
350 // And the URL matches what we expected. | 350 // And the URL matches what we expected. |
351 GURL expected_url(keyword_t_url_->suggestions_url_ref().ReplaceSearchTerms( | 351 GURL expected_url(keyword_t_url_->suggestions_url_ref().ReplaceSearchTerms( |
352 term, TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, string16())); | 352 term, TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, string16())); |
353 ASSERT_TRUE(keyword_fetcher->GetOriginalURL() == expected_url); | 353 ASSERT_TRUE(keyword_fetcher->GetOriginalURL() == expected_url); |
354 | 354 |
355 // Tell the SearchProvider the keyword suggest query is done. | 355 // Tell the SearchProvider the keyword suggest query is done. |
356 keyword_fetcher->set_response_code(200); | 356 keyword_fetcher->set_response_code(200); |
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
666 EXPECT_FALSE(result.match_at(1).description.empty()); | 666 EXPECT_FALSE(result.match_at(1).description.empty()); |
667 EXPECT_NE(result.match_at(0).description, result.match_at(1).description); | 667 EXPECT_NE(result.match_at(0).description, result.match_at(1).description); |
668 } | 668 } |
669 | 669 |
670 // Verifies Navsuggest results don't set a TemplateURL, which instant relies on. | 670 // Verifies Navsuggest results don't set a TemplateURL, which instant relies on. |
671 // Also verifies that just the *first* navigational result is listed as a match. | 671 // Also verifies that just the *first* navigational result is listed as a match. |
672 TEST_F(SearchProviderTest, NavSuggest) { | 672 TEST_F(SearchProviderTest, NavSuggest) { |
673 QueryForInput(ASCIIToUTF16("a.c"), string16(), false); | 673 QueryForInput(ASCIIToUTF16("a.c"), string16(), false); |
674 | 674 |
675 // Make sure the default providers suggest service was queried. | 675 // Make sure the default providers suggest service was queried. |
676 TestURLFetcher* fetcher = test_factory_.GetFetcherByID( | 676 net::TestURLFetcher* fetcher = test_factory_.GetFetcherByID( |
677 SearchProvider::kDefaultProviderURLFetcherID); | 677 SearchProvider::kDefaultProviderURLFetcherID); |
678 ASSERT_TRUE(fetcher); | 678 ASSERT_TRUE(fetcher); |
679 | 679 |
680 // Tell the SearchProvider the suggest query is done. | 680 // Tell the SearchProvider the suggest query is done. |
681 fetcher->set_response_code(200); | 681 fetcher->set_response_code(200); |
682 fetcher->SetResponseString( | 682 fetcher->SetResponseString( |
683 "[\"a.c\",[\"a.com\", \"a.com/b\"],[\"a\", \"b\"],[]," | 683 "[\"a.c\",[\"a.com\", \"a.com/b\"],[\"a\", \"b\"],[]," |
684 "{\"google:suggesttype\":[\"NAVIGATION\", \"NAVIGATION\"]}]"); | 684 "{\"google:suggesttype\":[\"NAVIGATION\", \"NAVIGATION\"]}]"); |
685 fetcher->delegate()->OnURLFetchComplete(fetcher); | 685 fetcher->delegate()->OnURLFetchComplete(fetcher); |
686 fetcher = NULL; | 686 fetcher = NULL; |
687 | 687 |
688 // Run till the history results complete. | 688 // Run till the history results complete. |
689 RunTillProviderDone(); | 689 RunTillProviderDone(); |
690 | 690 |
691 // Make sure the only match is 'a.com' and it doesn't have a template_url. | 691 // Make sure the only match is 'a.com' and it doesn't have a template_url. |
692 AutocompleteMatch nav_match; | 692 AutocompleteMatch nav_match; |
693 EXPECT_TRUE(FindMatchWithDestination(GURL("http://a.com"), &nav_match)); | 693 EXPECT_TRUE(FindMatchWithDestination(GURL("http://a.com"), &nav_match)); |
694 EXPECT_TRUE(nav_match.keyword.empty()); | 694 EXPECT_TRUE(nav_match.keyword.empty()); |
695 EXPECT_FALSE(FindMatchWithDestination(GURL("http://a.com/b"), &nav_match)); | 695 EXPECT_FALSE(FindMatchWithDestination(GURL("http://a.com/b"), &nav_match)); |
696 } | 696 } |
697 | 697 |
698 // Verifies that the most relevant suggest results are added properly. | 698 // Verifies that the most relevant suggest results are added properly. |
699 TEST_F(SearchProviderTest, SuggestRelevance) { | 699 TEST_F(SearchProviderTest, SuggestRelevance) { |
700 QueryForInput(ASCIIToUTF16("a"), string16(), false); | 700 QueryForInput(ASCIIToUTF16("a"), string16(), false); |
701 | 701 |
702 // Make sure the default provider's suggest service was queried. | 702 // Make sure the default provider's suggest service was queried. |
703 TestURLFetcher* fetcher = test_factory_.GetFetcherByID( | 703 net::TestURLFetcher* fetcher = test_factory_.GetFetcherByID( |
704 SearchProvider::kDefaultProviderURLFetcherID); | 704 SearchProvider::kDefaultProviderURLFetcherID); |
705 ASSERT_TRUE(fetcher); | 705 ASSERT_TRUE(fetcher); |
706 | 706 |
707 // Tell the SearchProvider the suggest query is done. | 707 // Tell the SearchProvider the suggest query is done. |
708 fetcher->set_response_code(200); | 708 fetcher->set_response_code(200); |
709 fetcher->SetResponseString("[\"a\",[\"a1\", \"a2\", \"a3\", \"a4\"]]"); | 709 fetcher->SetResponseString("[\"a\",[\"a1\", \"a2\", \"a3\", \"a4\"]]"); |
710 fetcher->delegate()->OnURLFetchComplete(fetcher); | 710 fetcher->delegate()->OnURLFetchComplete(fetcher); |
711 fetcher = NULL; | 711 fetcher = NULL; |
712 | 712 |
713 // Run till the history results complete. | 713 // Run till the history results complete. |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
859 | 859 |
860 // Ensure that verbatim is always generated without other suggestions. | 860 // Ensure that verbatim is always generated without other suggestions. |
861 { "[\"a\",[],[],[],{\"google:verbatimrelevance\":1}]", | 861 { "[\"a\",[],[],[],{\"google:verbatimrelevance\":1}]", |
862 { "a", kNotApplicable, kNotApplicable, kNotApplicable } }, | 862 { "a", kNotApplicable, kNotApplicable, kNotApplicable } }, |
863 { "[\"a\",[],[],[],{\"google:verbatimrelevance\":0}]", | 863 { "[\"a\",[],[],[],{\"google:verbatimrelevance\":0}]", |
864 { "a", kNotApplicable, kNotApplicable, kNotApplicable } }, | 864 { "a", kNotApplicable, kNotApplicable, kNotApplicable } }, |
865 }; | 865 }; |
866 | 866 |
867 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { | 867 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { |
868 QueryForInput(ASCIIToUTF16("a"), string16(), false); | 868 QueryForInput(ASCIIToUTF16("a"), string16(), false); |
869 TestURLFetcher* fetcher = test_factory_.GetFetcherByID( | 869 net::TestURLFetcher* fetcher = test_factory_.GetFetcherByID( |
870 SearchProvider::kDefaultProviderURLFetcherID); | 870 SearchProvider::kDefaultProviderURLFetcherID); |
871 fetcher->set_response_code(200); | 871 fetcher->set_response_code(200); |
872 fetcher->SetResponseString(cases[i].json); | 872 fetcher->SetResponseString(cases[i].json); |
873 fetcher->delegate()->OnURLFetchComplete(fetcher); | 873 fetcher->delegate()->OnURLFetchComplete(fetcher); |
874 RunTillProviderDone(); | 874 RunTillProviderDone(); |
875 | 875 |
876 const ACMatches& matches = provider_->matches(); | 876 const ACMatches& matches = provider_->matches(); |
877 // The top match must inline and score as highly as calculated verbatim. | 877 // The top match must inline and score as highly as calculated verbatim. |
878 EXPECT_NE(string16::npos, matches[0].inline_autocomplete_offset); | 878 EXPECT_NE(string16::npos, matches[0].inline_autocomplete_offset); |
879 EXPECT_GE(matches[0].relevance, 1300); | 879 EXPECT_GE(matches[0].relevance, 1300); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
954 "\"google:verbatimrelevance\":9999}]", | 954 "\"google:verbatimrelevance\":9999}]", |
955 { "a.com", "abc.com", "a.com/a", kNotApplicable }, | 955 { "a.com", "abc.com", "a.com/a", kNotApplicable }, |
956 { AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, | 956 { AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, |
957 AutocompleteMatch::NAVSUGGEST, | 957 AutocompleteMatch::NAVSUGGEST, |
958 AutocompleteMatch::SEARCH_SUGGEST, | 958 AutocompleteMatch::SEARCH_SUGGEST, |
959 AutocompleteMatch::NUM_TYPES } }, | 959 AutocompleteMatch::NUM_TYPES } }, |
960 }; | 960 }; |
961 | 961 |
962 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { | 962 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { |
963 QueryForInput(ASCIIToUTF16(cases[i].input), string16(), false); | 963 QueryForInput(ASCIIToUTF16(cases[i].input), string16(), false); |
964 TestURLFetcher* fetcher = test_factory_.GetFetcherByID( | 964 net::TestURLFetcher* fetcher = test_factory_.GetFetcherByID( |
965 SearchProvider::kDefaultProviderURLFetcherID); | 965 SearchProvider::kDefaultProviderURLFetcherID); |
966 fetcher->set_response_code(200); | 966 fetcher->set_response_code(200); |
967 fetcher->SetResponseString(cases[i].json); | 967 fetcher->SetResponseString(cases[i].json); |
968 fetcher->delegate()->OnURLFetchComplete(fetcher); | 968 fetcher->delegate()->OnURLFetchComplete(fetcher); |
969 RunTillProviderDone(); | 969 RunTillProviderDone(); |
970 | 970 |
971 size_t j = 0; | 971 size_t j = 0; |
972 const ACMatches& matches = provider_->matches(); | 972 const ACMatches& matches = provider_->matches(); |
973 // Ensure that the returned matches equal the expectations. | 973 // Ensure that the returned matches equal the expectations. |
974 for (; j < matches.size(); ++j) { | 974 for (; j < matches.size(); ++j) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1017 // This is needed so that (CTRL+A/C/etc.) doesn't alter inline text. | 1017 // This is needed so that (CTRL+A/C/etc.) doesn't alter inline text. |
1018 { "a", "[\"a\",[\"a.com/a\"],[],[],{\"google:suggestrelevance\":[9999]}]", | 1018 { "a", "[\"a\",[\"a.com/a\"],[],[],{\"google:suggestrelevance\":[9999]}]", |
1019 { "a.com/a", "a", kNotApplicable, kNotApplicable }, | 1019 { "a.com/a", "a", kNotApplicable, kNotApplicable }, |
1020 { AutocompleteMatch::SEARCH_SUGGEST, | 1020 { AutocompleteMatch::SEARCH_SUGGEST, |
1021 AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, | 1021 AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, |
1022 AutocompleteMatch::NUM_TYPES, AutocompleteMatch::NUM_TYPES } }, | 1022 AutocompleteMatch::NUM_TYPES, AutocompleteMatch::NUM_TYPES } }, |
1023 }; | 1023 }; |
1024 | 1024 |
1025 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { | 1025 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { |
1026 QueryForInput(ASCIIToUTF16(cases[i].input), ASCIIToUTF16("com"), false); | 1026 QueryForInput(ASCIIToUTF16(cases[i].input), ASCIIToUTF16("com"), false); |
1027 TestURLFetcher* fetcher = test_factory_.GetFetcherByID( | 1027 net::TestURLFetcher* fetcher = test_factory_.GetFetcherByID( |
1028 SearchProvider::kDefaultProviderURLFetcherID); | 1028 SearchProvider::kDefaultProviderURLFetcherID); |
1029 fetcher->set_response_code(200); | 1029 fetcher->set_response_code(200); |
1030 fetcher->SetResponseString(cases[i].json); | 1030 fetcher->SetResponseString(cases[i].json); |
1031 fetcher->delegate()->OnURLFetchComplete(fetcher); | 1031 fetcher->delegate()->OnURLFetchComplete(fetcher); |
1032 RunTillProviderDone(); | 1032 RunTillProviderDone(); |
1033 | 1033 |
1034 size_t j = 0; | 1034 size_t j = 0; |
1035 const ACMatches& matches = provider_->matches(); | 1035 const ACMatches& matches = provider_->matches(); |
1036 // Ensure that the returned matches equal the expectations. | 1036 // Ensure that the returned matches equal the expectations. |
1037 for (; j < matches.size(); ++j) { | 1037 for (; j < matches.size(); ++j) { |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1223 EXPECT_EQ(AutocompleteMatch::ACMatchClassification::URL, | 1223 EXPECT_EQ(AutocompleteMatch::ACMatchClassification::URL, |
1224 match.contents_class[0].style); | 1224 match.contents_class[0].style); |
1225 EXPECT_EQ(4U, match.contents_class[1].offset); | 1225 EXPECT_EQ(4U, match.contents_class[1].offset); |
1226 EXPECT_EQ(AutocompleteMatch::ACMatchClassification::URL | | 1226 EXPECT_EQ(AutocompleteMatch::ACMatchClassification::URL | |
1227 AutocompleteMatch::ACMatchClassification::MATCH, | 1227 AutocompleteMatch::ACMatchClassification::MATCH, |
1228 match.contents_class[1].style); | 1228 match.contents_class[1].style); |
1229 EXPECT_EQ(5U, match.contents_class[2].offset); | 1229 EXPECT_EQ(5U, match.contents_class[2].offset); |
1230 EXPECT_EQ(AutocompleteMatch::ACMatchClassification::URL, | 1230 EXPECT_EQ(AutocompleteMatch::ACMatchClassification::URL, |
1231 match.contents_class[2].style); | 1231 match.contents_class[2].style); |
1232 } | 1232 } |
OLD | NEW |