Chromium Code Reviews| 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/history_url_provider.h" | 5 #include "chrome/browser/autocomplete/history_url_provider.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 21 #include "chrome/common/pref_names.h" | 21 #include "chrome/common/pref_names.h" |
| 22 #include "chrome/test/base/testing_browser_process.h" | 22 #include "chrome/test/base/testing_browser_process.h" |
| 23 #include "chrome/test/base/testing_profile.h" | 23 #include "chrome/test/base/testing_profile.h" |
| 24 #include "components/history/core/browser/url_database.h" | 24 #include "components/history/core/browser/url_database.h" |
| 25 #include "components/metrics/proto/omnibox_event.pb.h" | 25 #include "components/metrics/proto/omnibox_event.pb.h" |
| 26 #include "components/metrics/proto/omnibox_input_type.pb.h" | 26 #include "components/metrics/proto/omnibox_input_type.pb.h" |
| 27 #include "components/omnibox/autocomplete_match.h" | 27 #include "components/omnibox/autocomplete_match.h" |
| 28 #include "components/omnibox/autocomplete_provider.h" | 28 #include "components/omnibox/autocomplete_provider.h" |
| 29 #include "components/omnibox/autocomplete_provider_listener.h" | 29 #include "components/omnibox/autocomplete_provider_listener.h" |
| 30 #include "components/omnibox/autocomplete_result.h" | 30 #include "components/omnibox/autocomplete_result.h" |
| 31 #include "components/search_engines/default_search_manager.h" | |
| 31 #include "components/search_engines/search_terms_data.h" | 32 #include "components/search_engines/search_terms_data.h" |
| 32 #include "components/search_engines/template_url.h" | 33 #include "components/search_engines/template_url.h" |
| 33 #include "components/search_engines/template_url_service.h" | 34 #include "components/search_engines/template_url_service.h" |
| 34 #include "components/url_fixer/url_fixer.h" | 35 #include "components/url_fixer/url_fixer.h" |
| 35 #include "content/public/test/test_browser_thread_bundle.h" | 36 #include "content/public/test/test_browser_thread_bundle.h" |
| 36 #include "testing/gtest/include/gtest/gtest.h" | 37 #include "testing/gtest/include/gtest/gtest.h" |
| 37 | 38 |
| 38 using base::ASCIIToUTF16; | 39 using base::ASCIIToUTF16; |
| 39 using base::Time; | 40 using base::Time; |
| 40 using base::TimeDelta; | 41 using base::TimeDelta; |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 224 bool sort_matches_; | 225 bool sort_matches_; |
| 225 }; | 226 }; |
| 226 | 227 |
| 227 class HistoryURLProviderTestNoDB : public HistoryURLProviderTest { | 228 class HistoryURLProviderTestNoDB : public HistoryURLProviderTest { |
| 228 protected: | 229 protected: |
| 229 virtual void SetUp() { | 230 virtual void SetUp() { |
| 230 ASSERT_TRUE(SetUpImpl(true)); | 231 ASSERT_TRUE(SetUpImpl(true)); |
| 231 } | 232 } |
| 232 }; | 233 }; |
| 233 | 234 |
| 235 class HistoryURLProviderTestNoSearchProvider : public HistoryURLProviderTest { | |
| 236 protected: | |
| 237 virtual void SetUp() { | |
|
Peter Kasting
2014/10/24 22:02:13
Nit: virtual -> override (2 places)
I realize the
| |
| 238 DefaultSearchManager::SetFallbackSearchEnginesDisabledForTesting(true); | |
| 239 HistoryURLProviderTest::SetUp(); | |
| 240 } | |
| 241 | |
| 242 virtual void TearDown() { | |
| 243 HistoryURLProviderTest::TearDown(); | |
| 244 DefaultSearchManager::SetFallbackSearchEnginesDisabledForTesting(false); | |
| 245 } | |
| 246 }; | |
| 247 | |
| 234 void HistoryURLProviderTest::OnProviderUpdate(bool updated_matches) { | 248 void HistoryURLProviderTest::OnProviderUpdate(bool updated_matches) { |
| 235 if (autocomplete_->done()) | 249 if (autocomplete_->done()) |
| 236 base::MessageLoop::current()->Quit(); | 250 base::MessageLoop::current()->Quit(); |
| 237 } | 251 } |
| 238 | 252 |
| 239 bool HistoryURLProviderTest::SetUpImpl(bool no_db) { | 253 bool HistoryURLProviderTest::SetUpImpl(bool no_db) { |
| 240 profile_.reset(new TestingProfile()); | 254 profile_.reset(new TestingProfile()); |
| 241 if (!(profile_->CreateHistoryService(true, no_db))) | 255 if (!(profile_->CreateHistoryService(true, no_db))) |
| 242 return false; | 256 return false; |
| 243 if (!no_db) { | 257 if (!no_db) { |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 473 // "what you typed" result, plus this one. | 487 // "what you typed" result, plus this one. |
| 474 const base::string16 typing(ASCIIToUTF16("http://redirects/")); | 488 const base::string16 typing(ASCIIToUTF16("http://redirects/")); |
| 475 const UrlAndLegalDefault expected_results[] = { | 489 const UrlAndLegalDefault expected_results[] = { |
| 476 { base::UTF16ToUTF8(typing), true }, | 490 { base::UTF16ToUTF8(typing), true }, |
| 477 { test_cases[0].url, false } | 491 { test_cases[0].url, false } |
| 478 }; | 492 }; |
| 479 RunTest(typing, std::string(), true, expected_results, | 493 RunTest(typing, std::string(), true, expected_results, |
| 480 arraysize(expected_results)); | 494 arraysize(expected_results)); |
| 481 } | 495 } |
| 482 | 496 |
| 497 TEST_F(HistoryURLProviderTestNoSearchProvider, WhatYouTypedNoSearchProvider) { | |
| 498 // When no search provider is available, make sure we provide WYT matches | |
| 499 // for text that could be a URL | |
|
Peter Kasting
2014/10/24 22:02:13
Nit: Trailing period.
| |
| 500 | |
| 501 const UrlAndLegalDefault results_1[] = { | |
| 502 { "http://wytmatch/", true } | |
| 503 }; | |
| 504 RunTest(ASCIIToUTF16("wytmatch"), std::string(), false, results_1, | |
| 505 arraysize(results_1)); | |
| 506 | |
| 507 RunTest(ASCIIToUTF16("wytmatch foo bar"), std::string(), false, NULL, 0); | |
| 508 RunTest(ASCIIToUTF16("wytmatch+foo+bar"), std::string(), false, NULL, 0); | |
| 509 | |
| 510 const UrlAndLegalDefault results_2[] = { | |
| 511 { "http://wytmatch+foo+bar.com/", true } | |
| 512 }; | |
| 513 RunTest(ASCIIToUTF16("wytmatch+foo+bar.com"), std::string(), false, | |
| 514 results_2, arraysize(results_2)); | |
| 515 } | |
| 516 | |
| 483 TEST_F(HistoryURLProviderTest, WhatYouTyped) { | 517 TEST_F(HistoryURLProviderTest, WhatYouTyped) { |
| 484 // Make sure we suggest a What You Typed match at the right times. | 518 // Make sure we suggest a What You Typed match at the right times. |
| 485 RunTest(ASCIIToUTF16("wytmatch"), std::string(), false, NULL, 0); | 519 RunTest(ASCIIToUTF16("wytmatch"), std::string(), false, NULL, 0); |
| 486 RunTest(ASCIIToUTF16("wytmatch foo bar"), std::string(), false, NULL, 0); | 520 RunTest(ASCIIToUTF16("wytmatch foo bar"), std::string(), false, NULL, 0); |
| 487 RunTest(ASCIIToUTF16("wytmatch+foo+bar"), std::string(), false, NULL, 0); | 521 RunTest(ASCIIToUTF16("wytmatch+foo+bar"), std::string(), false, NULL, 0); |
| 488 RunTest(ASCIIToUTF16("wytmatch+foo+bar.com"), std::string(), false, NULL, 0); | 522 RunTest(ASCIIToUTF16("wytmatch+foo+bar.com"), std::string(), false, NULL, 0); |
| 489 | 523 |
| 490 const UrlAndLegalDefault results_1[] = { | 524 const UrlAndLegalDefault results_1[] = { |
| 491 { "http://www.wytmatch.com/", true } | 525 { "http://www.wytmatch.com/", true } |
| 492 }; | 526 }; |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 989 // Test the experiment (scoring enabled). | 1023 // Test the experiment (scoring enabled). |
| 990 autocomplete_->scoring_params_.experimental_scoring_enabled = true; | 1024 autocomplete_->scoring_params_.experimental_scoring_enabled = true; |
| 991 ASSERT_NO_FATAL_FAILURE(RunTest(ASCIIToUTF16(test_cases[i].input), | 1025 ASSERT_NO_FATAL_FAILURE(RunTest(ASCIIToUTF16(test_cases[i].input), |
| 992 std::string(), false, output, max_matches)); | 1026 std::string(), false, output, max_matches)); |
| 993 for (int j = 0; j < max_matches; ++j) { | 1027 for (int j = 0; j < max_matches; ++j) { |
| 994 EXPECT_EQ(test_cases[i].matches[j].experiment_relevance, | 1028 EXPECT_EQ(test_cases[i].matches[j].experiment_relevance, |
| 995 matches_[j].relevance); | 1029 matches_[j].relevance); |
| 996 } | 1030 } |
| 997 } | 1031 } |
| 998 } | 1032 } |
| OLD | NEW |