Index: components/search_engines/template_url_unittest.cc |
diff --git a/components/search_engines/template_url_unittest.cc b/components/search_engines/template_url_unittest.cc |
index 6d09bf89c38f3db31adc90576fe14af1150ab690..7194a05894c47066873cf56a05f30f0ccccf52b3 100644 |
--- a/components/search_engines/template_url_unittest.cc |
+++ b/components/search_engines/template_url_unittest.cc |
@@ -1142,6 +1142,56 @@ TEST_F(TemplateURLTest, ExtractSearchTermsFromURLPath) { |
EXPECT_EQ(base::string16(), result); |
} |
+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.
|
+ TemplateURLData data; |
+ data.SetURL("http://windows-1251.ru/?q={searchTerms}"); |
+ data.alternate_urls.push_back("http://windows-1251.ru/#q={searchTerms}"); |
+ data.alternate_urls.push_back("http://windows-1251.ru/path/{searchTerms}"); |
+ data.input_encodings.push_back("windows-1251"); |
+ TemplateURL url(data); |
+ base::string16 result; |
+ |
+ EXPECT_TRUE(url.ExtractSearchTermsFromURL( |
+ GURL("http://windows-1251.ru/?q=" |
+ "%C7%E4%F0%E0%E2%F1%F2%E2%F3%E9%2C+%EC%E8%F0!"), |
+ search_terms_data_, &result)); |
+ 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.
|
+ |
+ EXPECT_TRUE(url.ExtractSearchTermsFromURL( |
+ GURL("http://windows-1251.ru/#q=%E4%E2%E0+%F1%EB%EE%E2%E0"), |
+ search_terms_data_, &result)); |
+ EXPECT_EQ(base::UTF8ToUTF16("два слова"), result); |
+ |
+ EXPECT_TRUE(url.ExtractSearchTermsFromURL( |
+ GURL("http://windows-1251.ru/path/%E1%F3%EA%E2%FB%20%C0%20%E8%20A"), |
+ search_terms_data_, &result)); |
+ EXPECT_EQ(base::UTF8ToUTF16("буквы А и A"), result); |
+} |
+ |
+TEST_F(TemplateURLTest, ExtractSearchTermsFromURL_CyrillicInUTF8) { |
+ TemplateURLData data; |
+ data.SetURL("http://utf-8.ru/?q={searchTerms}"); |
+ data.alternate_urls.push_back("http://utf-8.ru/#q={searchTerms}"); |
+ data.alternate_urls.push_back("http://utf-8.ru/path/{searchTerms}"); |
+ TemplateURL url(data); |
+ base::string16 result; |
+ |
+ EXPECT_TRUE(url.ExtractSearchTermsFromURL( |
+ GURL("http://utf-8.ru/?q=Здравствуй%2C+мир!"), |
+ search_terms_data_, &result)); |
+ EXPECT_EQ(base::UTF8ToUTF16("Здравствуй, мир!"), result); |
+ |
+ EXPECT_TRUE(url.ExtractSearchTermsFromURL( |
+ GURL("http://utf-8.ru/#q=два+слова"), |
+ search_terms_data_, &result)); |
+ EXPECT_EQ(base::UTF8ToUTF16("два слова"), result); |
+ |
+ EXPECT_TRUE(url.ExtractSearchTermsFromURL( |
+ GURL("http://utf-8.ru/path/буквы%20А%20и%20A"), |
+ search_terms_data_, &result)); |
+ EXPECT_EQ(base::UTF8ToUTF16("буквы А и A"), result); |
+} |
+ |
TEST_F(TemplateURLTest, HasSearchTermsReplacementKey) { |
TemplateURLData data; |
data.SetURL("http://google.com/?q={searchTerms}"); |