Index: chrome/browser/search_engines/template_url_unittest.cc |
diff --git a/chrome/browser/search_engines/template_url_unittest.cc b/chrome/browser/search_engines/template_url_unittest.cc |
index 626b5eb2aabe7fcb3b2ed1604cf20c994098464b..06623df0fbe4ef60838d580a7540163cfe5e6213 100644 |
--- a/chrome/browser/search_engines/template_url_unittest.cc |
+++ b/chrome/browser/search_engines/template_url_unittest.cc |
@@ -1358,3 +1358,35 @@ TEST_F(TemplateURLTest, SessionToken) { |
result = url.url_ref().ReplaceSearchTerms(search_terms_args); |
EXPECT_EQ("http://bar/search?q=foo&xssi=t", result); |
} |
+ |
+TEST_F(TemplateURLTest, ContextualSearchParameters) { |
+ TemplateURLData data; |
+ UIThreadSearchTermsData::SetGoogleBaseURL("http://bar/"); |
+ data.SetURL("http://bar/_/contextualsearch?" |
+ "{google:contextualSearchStart}" |
+ "{google:contextualSearchEnd}" |
+ "{google:contextualSearchContent}" |
+ "{google:contextualSearchEncoding}"); |
+ |
+ TemplateURL url(NULL, data); |
+ TemplateURLRef::SearchTermsArgs search_terms_args(ASCIIToUTF16("foo")); |
+ search_terms_args.contextual_search_start = 12; |
+ search_terms_args.contextual_search_end = 20; |
+ search_terms_args.contextual_search_content = "woody+allen+movies"; |
+ search_terms_args.contextual_search_encoding = "utf-8"; |
+ std::string result = url.url_ref().ReplaceSearchTerms(search_terms_args); |
+ |
+EXPECT_EQ("http://bar/_/contextualsearch?" |
+ "ctxs_start=12" |
+ "&ctxs_end=20" |
+ "&ctxs_content=woody+allen+movies" |
+ "&ctxs_encoding=utf-8&", result); |
+ |
+ TemplateURL url2(NULL, data); |
+ search_terms_args.contextual_search_start = -12; |
+ search_terms_args.contextual_search_end = -20; |
+ search_terms_args.contextual_search_content = ""; |
+ search_terms_args.contextual_search_encoding = ""; |
+ result = url.url_ref().ReplaceSearchTerms(search_terms_args); |
+ EXPECT_EQ("http://bar/_/contextualsearch?", result); |
+} |