| 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 c28936117af5ea7d86f28170fb01d31b4c9b0a1a..8ae824d0fcfbedf602425927a760dc35d8159908 100644
|
| --- a/chrome/browser/search_engines/template_url_unittest.cc
|
| +++ b/chrome/browser/search_engines/template_url_unittest.cc
|
| @@ -1459,3 +1459,39 @@ TEST_F(TemplateURLTest, ContextualSearchParameters) {
|
| "ctxs_url=www.wikipedia.org&"
|
| "ctxs_encoding=utf-8&", result);
|
| }
|
| +
|
| +TEST_F(TemplateURLTest, GenerateKeyword) {
|
| + ASSERT_EQ(ASCIIToUTF16("foo"),
|
| + TemplateURL::GenerateKeyword(GURL("http://foo")));
|
| + // www. should be stripped.
|
| + ASSERT_EQ(ASCIIToUTF16("foo"),
|
| + TemplateURL::GenerateKeyword(GURL("http://www.foo")));
|
| + // Make sure we don't get a trailing '/'.
|
| + ASSERT_EQ(ASCIIToUTF16("blah"),
|
| + TemplateURL::GenerateKeyword(GURL("http://blah/")));
|
| + // Don't generate the empty string.
|
| + ASSERT_EQ(ASCIIToUTF16("www"),
|
| + TemplateURL::GenerateKeyword(GURL("http://www.")));
|
| +}
|
| +
|
| +TEST_F(TemplateURLTest, GenerateSearchURL) {
|
| + struct GenerateSearchURLCase {
|
| + const char* test_name;
|
| + const char* url;
|
| + const char* expected;
|
| + } generate_url_cases[] = {
|
| + { "invalid URL", "foo{searchTerms}", "" },
|
| + { "URL with no replacements", "http://foo/", "http://foo/" },
|
| + { "basic functionality", "http://foo/{searchTerms}",
|
| + "http://foo/blah.blah.blah.blah.blah" }
|
| + };
|
| +
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(generate_url_cases); ++i) {
|
| + TemplateURLData data;
|
| + data.SetURL(generate_url_cases[i].url);
|
| + TemplateURL t_url(data);
|
| + EXPECT_EQ(t_url.GenerateSearchURL(search_terms_data_).spec(),
|
| + generate_url_cases[i].expected)
|
| + << generate_url_cases[i].test_name << " failed.";
|
| + }
|
| +}
|
|
|