| 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 65b2310a1f9e1141fddaf568361acb854da641f6..c3631238202427dc38423729c4c5125c039e62ad 100644
|
| --- a/chrome/browser/search_engines/template_url_unittest.cc
|
| +++ b/chrome/browser/search_engines/template_url_unittest.cc
|
| @@ -753,62 +753,167 @@ TEST_F(TemplateURLTest, ExtractSearchTermsFromURL) {
|
| data.alternate_urls.push_back("http://google.com/alt/#q={searchTerms}");
|
| data.alternate_urls.push_back(
|
| "http://google.com/alt/?ext=foo&q={searchTerms}#ref=bar");
|
| + data.search_terms_replacement_key = "espv";
|
| TemplateURL url(NULL, data);
|
| string16 result;
|
|
|
| EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/?q=something"), &result));
|
| + GURL("http://google.com/?q=something"), &result, false));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?espv=1&q=something"), &result, false));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?espv=0&q=something"), &result, false));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#q=something"), &result, false));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#espv=1&q=something"), &result, false));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#espv=0&q=something"), &result, false));
|
| EXPECT_EQ(ASCIIToUTF16("something"), result);
|
|
|
| EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.ca/?q=something"), &result));
|
| + GURL("http://google.ca/?q=something"), &result, false));
|
| EXPECT_EQ(string16(), result);
|
|
|
| EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/foo/?q=foo"), &result));
|
| + GURL("http://google.com/foo/?q=foo"), &result, false));
|
| EXPECT_EQ(string16(), result);
|
|
|
| EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| - GURL("https://google.com/?q=foo"), &result));
|
| + GURL("https://google.com/?q=foo"), &result, false));
|
| EXPECT_EQ(ASCIIToUTF16("foo"), result);
|
|
|
| EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com:8080/?q=foo"), &result));
|
| + GURL("http://google.com:8080/?q=foo"), &result, false));
|
| EXPECT_EQ(string16(), result);
|
|
|
| EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/?q=1+2+3&b=456"), &result));
|
| + GURL("http://google.com/?q=1+2+3&b=456"), &result, false));
|
| EXPECT_EQ(ASCIIToUTF16("1 2 3"), result);
|
|
|
| EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/alt/?q=123#q=456"), &result));
|
| + GURL("http://google.com/alt/?q=123#q=456"), &result, false));
|
| EXPECT_EQ(ASCIIToUTF16("456"), result);
|
|
|
| EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/alt/?a=012&q=123&b=456#f=789"), &result));
|
| + GURL("http://google.com/alt/?a=012&q=123&b=456#f=789"), &result, false));
|
| EXPECT_EQ(ASCIIToUTF16("123"), result);
|
|
|
| EXPECT_TRUE(url.ExtractSearchTermsFromURL(GURL(
|
| - "http://google.com/alt/?a=012&q=123&b=456#j=abc&q=789&h=def9"), &result));
|
| + "http://google.com/alt/?a=012&q=123&b=456#j=abc&q=789&h=def9"), &result,
|
| + false));
|
| EXPECT_EQ(ASCIIToUTF16("789"), result);
|
|
|
| EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/alt/?q="), &result));
|
| + GURL("http://google.com/alt/?q="), &result, false));
|
| EXPECT_EQ(string16(), result);
|
|
|
| EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/alt/?#q="), &result));
|
| + GURL("http://google.com/alt/?#q="), &result, false));
|
| EXPECT_EQ(string16(), result);
|
|
|
| EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/alt/?q=#q="), &result));
|
| + GURL("http://google.com/alt/?q=#q="), &result, false));
|
| EXPECT_EQ(string16(), result);
|
|
|
| EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/alt/?q=123#q="), &result));
|
| + GURL("http://google.com/alt/?q=123#q="), &result, false));
|
| EXPECT_EQ(string16(), result);
|
|
|
| EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| - GURL("http://google.com/alt/?q=#q=123"), &result));
|
| + GURL("http://google.com/alt/?q=#q=123"), &result, false));
|
| EXPECT_EQ(ASCIIToUTF16("123"), result);
|
| +
|
| + // Test with instant enabled required.
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?q=something"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?q=something&espv=1"), &result, true));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?q=something&espv=0"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?q=something&espv="), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?espv=1&q=something"), &result, true));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?espv=0&q=something"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?espv=&q=something"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#q=something"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#q=something&espv=1"), &result, true));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#q=something&espv=0"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#q=something&espv="), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#espv=1&q=something"), &result, true));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#espv=0&q=something"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/#espv=&q=something"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + // espv must be in the same region (query/ref) as the search query.
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?espv=1#q=something"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + EXPECT_FALSE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/?q=something#espv=1"), &result, true));
|
| + EXPECT_EQ(string16(), result);
|
| +
|
| + // It's fine if espv is there twice.
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?espv=1#q=something&espv=1"), &result, true));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?q=something&espv=1#espv=1"), &result, true));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?espv=0#q=something&espv=1"), &result, true));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| +
|
| + EXPECT_TRUE(url.ExtractSearchTermsFromURL(
|
| + GURL("http://google.com/alt/?q=something&espv=1#espv=0"), &result, true));
|
| + EXPECT_EQ(ASCIIToUTF16("something"), result);
|
| }
|
|
|