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

Unified Diff: components/omnibox/browser/base_search_provider_unittest.cc

Issue 2854423002: [omnibox] Use suggestion instead of input for base text (Closed)
Patch Set: Better name Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/omnibox/browser/base_search_provider.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/omnibox/browser/base_search_provider_unittest.cc
diff --git a/components/omnibox/browser/base_search_provider_unittest.cc b/components/omnibox/browser/base_search_provider_unittest.cc
index 1848c9f1d90e6dc1a377772641a99ae1974d29d6..352925bcc0afeb06b66040d823ac288ddae7bd0c 100644
--- a/components/omnibox/browser/base_search_provider_unittest.cc
+++ b/components/omnibox/browser/base_search_provider_unittest.cc
@@ -8,6 +8,7 @@
#include "base/macros.h"
#include "base/strings/string16.h"
+#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "components/omnibox/browser/autocomplete_match.h"
#include "components/omnibox/browser/autocomplete_match_type.h"
@@ -63,6 +64,14 @@ class TestBaseSearchProvider : public BaseSearchProvider {
DISALLOW_COPY_AND_ASSIGN(TestBaseSearchProvider);
};
+class TestSchemeClassifier : public AutocompleteSchemeClassifier {
+ public:
+ metrics::OmniboxInputType::Type GetInputTypeForScheme(
+ const std::string&) const override {
+ return metrics::OmniboxInputType::QUERY;
+ }
+};
+
class BaseSearchProviderTest : public testing::Test {
public:
~BaseSearchProviderTest() override {}
@@ -169,3 +178,43 @@ TEST_F(BaseSearchProviderTest, PreserveAnswersWhenDeduplicating) {
EXPECT_EQ(AutocompleteMatchType::SEARCH_SUGGEST, duplicate.type);
EXPECT_EQ(850, duplicate.relevance);
}
+
+TEST_F(BaseSearchProviderTest, MatchTailSuggestionProperly) {
+ TemplateURLData data;
+ data.SetURL("http://foo.com/url?bar={searchTerms}");
+ std::unique_ptr<TemplateURL> template_url(new TemplateURL(data));
Peter Kasting 2017/05/10 20:38:11 Nit: Prefer MakeUnique to bare new: auto templa
Kevin Bailey 2017/05/11 13:27:37 Done. Fixed the other test too.
+
+ AutocompleteInput autocomplete_input(
+ base::ASCIIToUTF16("weather"), 7, "", GURL(), base::string16(),
Peter Kasting 2017/05/10 20:38:11 Nit: Prefer std::string() to ""
Kevin Bailey 2017/05/11 13:27:37 Done.
+ metrics::OmniboxEventProto::BLANK, false, false, false, false, false,
+ TestSchemeClassifier());
+
+ EXPECT_CALL(*provider_, GetInput(_))
+ .WillRepeatedly(Return(autocomplete_input));
+ EXPECT_CALL(*provider_, GetTemplateURL(_))
+ .WillRepeatedly(Return(template_url.get()));
+
+ base::string16 query = base::ASCIIToUTF16("angeles now");
+ base::string16 suggestion = base::ASCIIToUTF16("weather los ") + query;
+ SearchSuggestionParser::SuggestResult suggest_result(
+ suggestion, AutocompleteMatchType::SEARCH_SUGGEST_TAIL, 0, query,
+ base::ASCIIToUTF16("..."), base::string16(), base::string16(),
+ base::string16(), nullptr, std::string(), std::string(), false, 1300,
+ true, false, query);
+
+ TestBaseSearchProvider::MatchMap map;
+ provider_->AddMatchToMap(suggest_result, std::string(),
+ TemplateURLRef::NO_SUGGESTION_CHOSEN, false, false,
+ &map);
+
+ EXPECT_EQ(1UL, map.size());
Peter Kasting 2017/05/10 20:38:12 Nit: Maybe this should be ASSERT, so we can blindl
Kevin Bailey 2017/05/11 13:27:37 Done.
+ for (const auto& entry : map) {
+ std::string text =
+ entry.second.GetAdditionalInfo(kACMatchPropertyContentsStartIndex);
+ int length;
Peter Kasting 2017/05/10 20:38:12 Nit: Declare as size_t; then no EXPECT_GE is neede
Kevin Bailey 2017/05/11 13:27:37 Done. With the high template usage, they could hav
+ EXPECT_TRUE(base::StringToInt(text, &length));
+ EXPECT_GE(length, 0);
+ text = entry.second.GetAdditionalInfo(kACMatchPropertyContentsText);
+ EXPECT_GE(text.length(), static_cast<unsigned>(length));
+ }
+}
« no previous file with comments | « components/omnibox/browser/base_search_provider.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698