| 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 089c1a1dab00494425ae7a3afceb7df39a2337a2..8645e68070c6794558a80fb20f22fd4fb003059b 100644
|
| --- a/chrome/browser/search_engines/template_url_unittest.cc
|
| +++ b/chrome/browser/search_engines/template_url_unittest.cc
|
| @@ -641,3 +641,130 @@ TEST_F(TemplateURLTest, ParseURLNestedParameter) {
|
| EXPECT_EQ(TemplateURLRef::SEARCH_TERMS, replacements[0].type);
|
| EXPECT_TRUE(valid);
|
| }
|
| +
|
| +TEST_F(TemplateURLTest, DeserializeAndSetAlternateURLs) {
|
| + TemplateURLData data;
|
| + EXPECT_TRUE(data.alternate_urls().empty());
|
| +
|
| + data.DeserializeAndSetAlternateURLs("http://google.com?q={searchTerms},"
|
| + "{google:baseURL}/#q={searchTerms}");
|
| + EXPECT_EQ(2U, data.alternate_urls().size());
|
| + EXPECT_EQ("http://google.com?q={searchTerms}", data.alternate_urls()[0]);
|
| + EXPECT_EQ("{google:baseURL}/#q={searchTerms}", data.alternate_urls()[1]);
|
| +}
|
| +
|
| +
|
| +TEST_F(TemplateURLTest, DeserializeAndSetEmptyAlternateURLs) {
|
| + TemplateURLData data;
|
| + EXPECT_TRUE(data.alternate_urls().empty());
|
| +
|
| + data.DeserializeAndSetAlternateURLs("");
|
| + EXPECT_TRUE(data.alternate_urls().empty());
|
| +}
|
| +
|
| +TEST_F(TemplateURLTest, SerializeAlternateURLs) {
|
| + TemplateURLData data;
|
| + EXPECT_TRUE(data.alternate_urls().empty());
|
| + data.alternate_urls_.push_back("{google:baseURL}/#q={searchTerms}");
|
| + data.alternate_urls_.push_back("http://google.com?q={searchTerms}");
|
| +
|
| + std::string result = data.SerializeAlternateURLs();
|
| + EXPECT_EQ("{google:baseURL}/#q={searchTerms},"
|
| + "http://google.com?q={searchTerms}", result);
|
| +}
|
| +
|
| +TEST_F(TemplateURLTest, SerializeEmptyAlternateURLs) {
|
| + TemplateURLData data;
|
| + EXPECT_TRUE(data.alternate_urls().empty());
|
| +
|
| + std::string result = data.SerializeAlternateURLs();
|
| + EXPECT_EQ("", result);
|
| +}
|
| +
|
| +TEST_F(TemplateURLTest, GetURL) {
|
| + TemplateURLData data;
|
| + data.SetURL("http://google.com/?q={searchTerms}");
|
| + data.suggestions_url = "http://google.com/suggest?q={searchTerms}";
|
| + data.instant_url = "http://google.com/instant#q={searchTerms}";
|
| + data.DeserializeAndSetAlternateURLs("http://google.com/alt?q={searchTerms},"
|
| + "{google:baseURL}/alt/#q={searchTerms}");
|
| + TemplateURL url(NULL, data);
|
| + ASSERT_EQ(4U, url.URLCount());
|
| + EXPECT_EQ("http://google.com/alt?q={searchTerms}", url.GetURL(0));
|
| + EXPECT_EQ("{google:baseURL}/alt/#q={searchTerms}", url.GetURL(1));
|
| + EXPECT_EQ("http://google.com/instant#q={searchTerms}", url.GetURL(2));
|
| + EXPECT_EQ("http://google.com/?q={searchTerms}", url.GetURL(3));
|
| +}
|
| +
|
| +TEST_F(TemplateURLTest, GetURLNoInstantURL) {
|
| + TemplateURLData data;
|
| + data.SetURL("http://google.com/?q={searchTerms}");
|
| + data.suggestions_url = "http://google.com/suggest?q={searchTerms}";
|
| + data.DeserializeAndSetAlternateURLs("http://google.com/alt?q={searchTerms},"
|
| + "{google:baseURL}/alt/#q={searchTerms}");
|
| + TemplateURL url(NULL, data);
|
| + ASSERT_EQ(3U, url.URLCount());
|
| + EXPECT_EQ("http://google.com/alt?q={searchTerms}", url.GetURL(0));
|
| + EXPECT_EQ("{google:baseURL}/alt/#q={searchTerms}", url.GetURL(1));
|
| + EXPECT_EQ("http://google.com/?q={searchTerms}", url.GetURL(2));
|
| +}
|
| +
|
| +TEST_F(TemplateURLTest, GetURLNoSuggestionsURL) {
|
| + TemplateURLData data;
|
| + data.SetURL("http://google.com/?q={searchTerms}");
|
| + data.instant_url = "http://google.com/instant#q={searchTerms}";
|
| + data.DeserializeAndSetAlternateURLs("http://google.com/alt?q={searchTerms},"
|
| + "{google:baseURL}/alt/#q={searchTerms}");
|
| + TemplateURL url(NULL, data);
|
| + ASSERT_EQ(4U, url.URLCount());
|
| + EXPECT_EQ("http://google.com/alt?q={searchTerms}", url.GetURL(0));
|
| + EXPECT_EQ("{google:baseURL}/alt/#q={searchTerms}", url.GetURL(1));
|
| + EXPECT_EQ("http://google.com/instant#q={searchTerms}", url.GetURL(2));
|
| + EXPECT_EQ("http://google.com/?q={searchTerms}", url.GetURL(3));
|
| +}
|
| +
|
| +TEST_F(TemplateURLTest, GetURLOnlyOneURL) {
|
| + TemplateURLData data;
|
| + data.SetURL("http://www.google.co.uk/");
|
| + TemplateURL url(NULL, data);
|
| + ASSERT_EQ(1U, url.URLCount());
|
| + EXPECT_EQ("http://www.google.co.uk/", url.GetURL(0));
|
| +}
|
| +
|
| +TEST_F(TemplateURLTest, ExtractSearchTermsFromURL) {
|
| + TemplateURLData data;
|
| + data.SetURL("http://google.com/?q={searchTerms}");
|
| + data.instant_url = "http://google.com/instant#q={searchTerms}";
|
| + data.DeserializeAndSetAlternateURLs(
|
| + "http://google.com/alt/#q={searchTerms},"
|
| + "http://google.com/alt/?ext=foo&q={searchTerms}#ref=bar");
|
| + TemplateURL url(NULL, data);
|
| + EXPECT_EQ(ASCIIToUTF16("something"),
|
| + url.ExtractSearchTermsFromURL(GURL("http://google.com/?q=something")));
|
| + EXPECT_EQ(string16(),
|
| + url.ExtractSearchTermsFromURL(GURL("http://google.ca/?q=something")));
|
| + EXPECT_EQ(string16(),
|
| + url.ExtractSearchTermsFromURL(GURL("http://google.com/foo/?q=foo")));
|
| + EXPECT_EQ(string16(),
|
| + url.ExtractSearchTermsFromURL(GURL("https://google.com/?q=foo")));
|
| + EXPECT_EQ(string16(),
|
| + url.ExtractSearchTermsFromURL(GURL("http://google.com:8080/?q=foo")));
|
| + EXPECT_EQ(ASCIIToUTF16("1 2 3"),
|
| + url.ExtractSearchTermsFromURL(GURL("http://google.com/?q=1+2+3&b=456")));
|
| + EXPECT_EQ(ASCIIToUTF16("456"), url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?q=123#q=456")));
|
| + EXPECT_EQ(ASCIIToUTF16("123"), url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?a=012&q=123&b=456#f=789")));
|
| + EXPECT_EQ(ASCIIToUTF16("789"), url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?a=012&q=123&b=456#j=abc&q=789&h=def")));
|
| + EXPECT_EQ(string16(), url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?q=")));
|
| + EXPECT_EQ(string16(), url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#q=")));
|
| + EXPECT_EQ(string16(), url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?q=#q=")));
|
| + EXPECT_EQ(ASCIIToUTF16("123"), url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?q=123#q=")));
|
| + EXPECT_EQ(ASCIIToUTF16("123"), url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?q=#q=123")));
|
| +}
|
|
|