Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Side by Side Diff: chrome/browser/autocomplete/builtin_provider_unittest.cc

Issue 836213002: Assume all providers may give zero suggest responses. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compilation issue in athena Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/builtin_provider.h" 5 #include "chrome/browser/autocomplete/builtin_provider.h"
6 6
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h" 10 #include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h"
(...skipping 24 matching lines...) Expand all
35 void RunTest(const TestData cases[], size_t num_cases) { 35 void RunTest(const TestData cases[], size_t num_cases) {
36 ACMatches matches; 36 ACMatches matches;
37 for (size_t i = 0; i < num_cases; ++i) { 37 for (size_t i = 0; i < num_cases; ++i) {
38 SCOPED_TRACE(base::StringPrintf( 38 SCOPED_TRACE(base::StringPrintf(
39 "case %" PRIuS ": %s", i, base::UTF16ToUTF8(cases[i].input).c_str())); 39 "case %" PRIuS ": %s", i, base::UTF16ToUTF8(cases[i].input).c_str()));
40 const AutocompleteInput input(cases[i].input, base::string16::npos, 40 const AutocompleteInput input(cases[i].input, base::string16::npos,
41 std::string(), GURL(), 41 std::string(), GURL(),
42 metrics::OmniboxEventProto::INVALID_SPEC, 42 metrics::OmniboxEventProto::INVALID_SPEC,
43 true, false, true, true, 43 true, false, true, true,
44 ChromeAutocompleteSchemeClassifier(NULL)); 44 ChromeAutocompleteSchemeClassifier(NULL));
45 provider_->Start(input, false); 45 provider_->Start(input, false, false);
46 EXPECT_TRUE(provider_->done()); 46 EXPECT_TRUE(provider_->done());
47 matches = provider_->matches(); 47 matches = provider_->matches();
48 EXPECT_EQ(cases[i].num_results, matches.size()); 48 EXPECT_EQ(cases[i].num_results, matches.size());
49 if (matches.size() == cases[i].num_results) { 49 if (matches.size() == cases[i].num_results) {
50 for (size_t j = 0; j < cases[i].num_results; ++j) { 50 for (size_t j = 0; j < cases[i].num_results; ++j) {
51 EXPECT_EQ(cases[i].output[j], matches[j].destination_url); 51 EXPECT_EQ(cases[i].output[j], matches[j].destination_url);
52 EXPECT_FALSE(matches[j].allowed_to_be_default_match); 52 EXPECT_FALSE(matches[j].allowed_to_be_default_match);
53 } 53 }
54 } 54 }
55 } 55 }
56 } 56 }
57 57
58 private:
59 scoped_refptr<BuiltinProvider> provider_; 58 scoped_refptr<BuiltinProvider> provider_;
60 59
60 private:
61 DISALLOW_COPY_AND_ASSIGN(BuiltinProviderTest); 61 DISALLOW_COPY_AND_ASSIGN(BuiltinProviderTest);
62 }; 62 };
63 63
64 #if !defined(OS_ANDROID) 64 #if !defined(OS_ANDROID)
65 TEST_F(BuiltinProviderTest, TypingScheme) { 65 TEST_F(BuiltinProviderTest, TypingScheme) {
66 const base::string16 kAbout = ASCIIToUTF16(url::kAboutScheme); 66 const base::string16 kAbout = ASCIIToUTF16(url::kAboutScheme);
67 const base::string16 kChrome = ASCIIToUTF16(content::kChromeUIScheme); 67 const base::string16 kChrome = ASCIIToUTF16(content::kChromeUIScheme);
68 const base::string16 kSeparator1 = ASCIIToUTF16(":"); 68 const base::string16 kSeparator1 = ASCIIToUTF16(":");
69 const base::string16 kSeparator2 = ASCIIToUTF16(":/"); 69 const base::string16 kSeparator2 = ASCIIToUTF16(":/");
70 const base::string16 kSeparator3 = 70 const base::string16 kSeparator3 =
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("/"), 0, {}}, 275 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("/"), 0, {}},
276 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("/p"), 0, {}}, 276 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("/p"), 0, {}},
277 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("x"), 0, {}}, 277 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("x"), 0, {}},
278 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("?q"), 0, {}}, 278 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("?q"), 0, {}},
279 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("#r"), 0, {}}, 279 {kAboutBlank.substr(0, 9) + ASCIIToUTF16("#r"), 0, {}},
280 }; 280 };
281 281
282 RunTest(about_blank_cases, arraysize(about_blank_cases)); 282 RunTest(about_blank_cases, arraysize(about_blank_cases));
283 } 283 }
284 284
285 TEST_F(BuiltinProviderTest, DoesNotSupportMatchesOnFocus) {
286 const AutocompleteInput input(ASCIIToUTF16("chrome://s"),
287 base::string16::npos,
288 std::string(), GURL(),
289 metrics::OmniboxEventProto::INVALID_SPEC,
290 true, false, true, true,
291 ChromeAutocompleteSchemeClassifier(NULL));
292 provider_->Start(input, false, true);
293 EXPECT_TRUE(provider_->matches().empty());
294 }
295
285 #if !defined(OS_ANDROID) 296 #if !defined(OS_ANDROID)
286 // Disabled on Android where we use native UI instead of chrome://settings. 297 // Disabled on Android where we use native UI instead of chrome://settings.
287 TEST_F(BuiltinProviderTest, ChromeSettingsSubpages) { 298 TEST_F(BuiltinProviderTest, ChromeSettingsSubpages) {
288 // This makes assumptions about the chrome URLs listed by the BuiltinProvider. 299 // This makes assumptions about the chrome URLs listed by the BuiltinProvider.
289 // Currently they are derived from chrome::kChromeHostURLs[]. 300 // Currently they are derived from chrome::kChromeHostURLs[].
290 const base::string16 kSettings = ASCIIToUTF16(chrome::kChromeUISettingsURL); 301 const base::string16 kSettings = ASCIIToUTF16(chrome::kChromeUISettingsURL);
291 const base::string16 kDefaultPage1 = ASCIIToUTF16(chrome::kAutofillSubPage); 302 const base::string16 kDefaultPage1 = ASCIIToUTF16(chrome::kAutofillSubPage);
292 const base::string16 kDefaultPage2 = 303 const base::string16 kDefaultPage2 =
293 ASCIIToUTF16(chrome::kClearBrowserDataSubPage); 304 ASCIIToUTF16(chrome::kClearBrowserDataSubPage);
294 const GURL kDefaultURL1 = GURL(kSettings + kDefaultPage1); 305 const GURL kDefaultURL1 = GURL(kSettings + kDefaultPage1);
(...skipping 11 matching lines...) Expand all
306 {kSettings + kPage1.substr(0, 1), 2, {kURL1, kURL2}}, 317 {kSettings + kPage1.substr(0, 1), 2, {kURL1, kURL2}},
307 {kSettings + kPage1.substr(0, 2), 1, {kURL1}}, 318 {kSettings + kPage1.substr(0, 2), 1, {kURL1}},
308 {kSettings + kPage1.substr(0, kPage1.length() - 1), 1, {kURL1}}, 319 {kSettings + kPage1.substr(0, kPage1.length() - 1), 1, {kURL1}},
309 {kSettings + kPage1, 1, {kURL1}}, 320 {kSettings + kPage1, 1, {kURL1}},
310 {kSettings + kPage2, 1, {kURL2}}, 321 {kSettings + kPage2, 1, {kURL2}},
311 }; 322 };
312 323
313 RunTest(settings_subpage_cases, arraysize(settings_subpage_cases)); 324 RunTest(settings_subpage_cases, arraysize(settings_subpage_cases));
314 } 325 }
315 #endif 326 #endif
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/builtin_provider.cc ('k') | chrome/browser/autocomplete/history_quick_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698