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

Side by Side Diff: components/search_engines/template_url_unittest.cc

Issue 1088523002: Fixed ExtractSearchTermsFromURL for search engines with encoding != "UTF-8". (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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
« no previous file with comments | « components/search_engines/template_url.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/base_paths.h" 5 #include "base/base_paths.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "components/metrics/proto/omnibox_event.pb.h" 10 #include "components/metrics/proto/omnibox_event.pb.h"
(...skipping 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 1135
1136 EXPECT_FALSE(url.ExtractSearchTermsFromURL( 1136 EXPECT_FALSE(url.ExtractSearchTermsFromURL(
1137 GURL("http://term-in-path.com/begin"), search_terms_data_, &result)); 1137 GURL("http://term-in-path.com/begin"), search_terms_data_, &result));
1138 EXPECT_EQ(base::string16(), result); 1138 EXPECT_EQ(base::string16(), result);
1139 1139
1140 EXPECT_FALSE(url.ExtractSearchTermsFromURL( 1140 EXPECT_FALSE(url.ExtractSearchTermsFromURL(
1141 GURL("http://term-in-path.com/end"), search_terms_data_, &result)); 1141 GURL("http://term-in-path.com/end"), search_terms_data_, &result));
1142 EXPECT_EQ(base::string16(), result); 1142 EXPECT_EQ(base::string16(), result);
1143 } 1143 }
1144 1144
1145 TEST_F(TemplateURLTest, ExtractSearchTermsFromURL_CyrillicInWindows1251) {
Peter Kasting 2015/04/13 18:59:48 Nit: I would name this "ExtraceSearchTermsFromNonU
Vitaly Baranov 2015/04/14 13:26:15 Done.
1146 TemplateURLData data;
1147 data.SetURL("http://windows-1251.ru/?q={searchTerms}");
1148 data.alternate_urls.push_back("http://windows-1251.ru/#q={searchTerms}");
1149 data.alternate_urls.push_back("http://windows-1251.ru/path/{searchTerms}");
1150 data.input_encodings.push_back("windows-1251");
1151 TemplateURL url(data);
1152 base::string16 result;
1153
1154 EXPECT_TRUE(url.ExtractSearchTermsFromURL(
1155 GURL("http://windows-1251.ru/?q="
1156 "%C7%E4%F0%E0%E2%F1%F2%E2%F3%E9%2C+%EC%E8%F0!"),
1157 search_terms_data_, &result));
1158 EXPECT_EQ(base::UTF8ToUTF16("Здравствуй, мир!"), result);
Peter Kasting 2015/04/13 18:59:48 Don't put extended characters directly into source
Vitaly Baranov 2015/04/14 13:26:15 Done.
1159
1160 EXPECT_TRUE(url.ExtractSearchTermsFromURL(
1161 GURL("http://windows-1251.ru/#q=%E4%E2%E0+%F1%EB%EE%E2%E0"),
1162 search_terms_data_, &result));
1163 EXPECT_EQ(base::UTF8ToUTF16("два слова"), result);
1164
1165 EXPECT_TRUE(url.ExtractSearchTermsFromURL(
1166 GURL("http://windows-1251.ru/path/%E1%F3%EA%E2%FB%20%C0%20%E8%20A"),
1167 search_terms_data_, &result));
1168 EXPECT_EQ(base::UTF8ToUTF16("буквы А и A"), result);
1169 }
1170
1171 TEST_F(TemplateURLTest, ExtractSearchTermsFromURL_CyrillicInUTF8) {
1172 TemplateURLData data;
1173 data.SetURL("http://utf-8.ru/?q={searchTerms}");
1174 data.alternate_urls.push_back("http://utf-8.ru/#q={searchTerms}");
1175 data.alternate_urls.push_back("http://utf-8.ru/path/{searchTerms}");
1176 TemplateURL url(data);
1177 base::string16 result;
1178
1179 EXPECT_TRUE(url.ExtractSearchTermsFromURL(
1180 GURL("http://utf-8.ru/?q=Здравствуй%2C+мир!"),
1181 search_terms_data_, &result));
1182 EXPECT_EQ(base::UTF8ToUTF16("Здравствуй, мир!"), result);
1183
1184 EXPECT_TRUE(url.ExtractSearchTermsFromURL(
1185 GURL("http://utf-8.ru/#q=два+слова"),
1186 search_terms_data_, &result));
1187 EXPECT_EQ(base::UTF8ToUTF16("два слова"), result);
1188
1189 EXPECT_TRUE(url.ExtractSearchTermsFromURL(
1190 GURL("http://utf-8.ru/path/буквы%20А%20и%20A"),
1191 search_terms_data_, &result));
1192 EXPECT_EQ(base::UTF8ToUTF16("буквы А и A"), result);
1193 }
1194
1145 TEST_F(TemplateURLTest, HasSearchTermsReplacementKey) { 1195 TEST_F(TemplateURLTest, HasSearchTermsReplacementKey) {
1146 TemplateURLData data; 1196 TemplateURLData data;
1147 data.SetURL("http://google.com/?q={searchTerms}"); 1197 data.SetURL("http://google.com/?q={searchTerms}");
1148 data.instant_url = "http://google.com/instant#q={searchTerms}"; 1198 data.instant_url = "http://google.com/instant#q={searchTerms}";
1149 data.alternate_urls.push_back("http://google.com/alt/#q={searchTerms}"); 1199 data.alternate_urls.push_back("http://google.com/alt/#q={searchTerms}");
1150 data.alternate_urls.push_back( 1200 data.alternate_urls.push_back(
1151 "http://google.com/alt/?ext=foo&q={searchTerms}#ref=bar"); 1201 "http://google.com/alt/?ext=foo&q={searchTerms}#ref=bar");
1152 data.search_terms_replacement_key = "espv"; 1202 data.search_terms_replacement_key = "espv";
1153 TemplateURL url(data); 1203 TemplateURL url(data);
1154 1204
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after
1600 EXPECT_EQ("http://bar/search?q=foo&pfq=full%20query%20text&qha=2338&xssi=t", 1650 EXPECT_EQ("http://bar/search?q=foo&pfq=full%20query%20text&qha=2338&xssi=t",
1601 result); 1651 result);
1602 1652
1603 TemplateURL url2(data); 1653 TemplateURL url2(data);
1604 search_terms_args.prefetch_query.clear(); 1654 search_terms_args.prefetch_query.clear();
1605 search_terms_args.prefetch_query_type.clear(); 1655 search_terms_args.prefetch_query_type.clear();
1606 result = 1656 result =
1607 url2.url_ref().ReplaceSearchTerms(search_terms_args, search_terms_data_); 1657 url2.url_ref().ReplaceSearchTerms(search_terms_args, search_terms_data_);
1608 EXPECT_EQ("http://bar/search?q=foo&xssi=t", result); 1658 EXPECT_EQ("http://bar/search?q=foo&xssi=t", result);
1609 } 1659 }
OLDNEW
« no previous file with comments | « components/search_engines/template_url.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698