Chromium Code Reviews| 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 948740b145a1d996e24b32f96be72020a76e3196..823e3277f6ce85e179ed356550069529ffc77f01 100644 |
| --- a/chrome/browser/search_engines/template_url_unittest.cc |
| +++ b/chrome/browser/search_engines/template_url_unittest.cc |
| @@ -431,6 +431,42 @@ TEST_F(TemplateURLTest, ReplaceAssistedQueryStats) { |
| } |
| } |
| +// Tests replacing cursor position. |
| +TEST_F(TemplateURLTest, ReplaceCursorPosition) { |
| + struct TestData { |
| + const string16 search_term; |
| + size_t cursor_position; |
| + const std::string url; |
|
Peter Kasting
2012/12/05 20:49:38
Nit: Indenting
Bart N.
2012/12/06 21:43:32
Done.
|
| + const std::string expected_result; |
| + } test_data[] = { |
| + { ASCIIToUTF16("foo"), |
| + string16::npos, |
| + "{google:baseURL}?{searchTerms}&{google:cursorPosition}", |
| + "http://www.google.com/?foo&" }, |
| + { ASCIIToUTF16("foo"), |
| + 2, |
| + "{google:baseURL}?{searchTerms}&{google:cursorPosition}", |
| + "http://www.google.com/?foo&cp=2&" }, |
| + { ASCIIToUTF16("foo"), |
| + 15, |
| + "{google:baseURL}?{searchTerms}&{google:cursorPosition}", |
| + "http://www.google.com/?foo&cp=15&" }, |
| + }; |
| + TemplateURLData data; |
| + data.input_encodings.push_back("UTF-8"); |
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); ++i) { |
| + data.SetURL(test_data[i].url); |
| + TemplateURL url(NULL, data); |
| + EXPECT_TRUE(url.url_ref().IsValid()); |
| + ASSERT_TRUE(url.url_ref().SupportsReplacement()); |
| + TemplateURLRef::SearchTermsArgs search_terms_args(test_data[i].search_term); |
| + search_terms_args.cursor_position = test_data[i].cursor_position; |
| + GURL result(url.url_ref().ReplaceSearchTerms(search_terms_args)); |
| + ASSERT_TRUE(result.is_valid()); |
| + EXPECT_EQ(test_data[i].expected_result, result.spec()); |
| + } |
| +} |
| + |
| TEST_F(TemplateURLTest, Suggestions) { |
| struct TestData { |
| const int accepted_suggestion; |