Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Side by Side Diff: chrome/browser/autocomplete/history_url_provider_unittest.cc

Issue 6306011: Remove wstring from autocomplete. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/message_loop.h" 6 #include "base/message_loop.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/autocomplete/autocomplete_match.h" 10 #include "chrome/browser/autocomplete/autocomplete_match.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 virtual void TearDown(); 108 virtual void TearDown();
109 109
110 // Does the real setup. 110 // Does the real setup.
111 void SetUpImpl(bool no_db); 111 void SetUpImpl(bool no_db);
112 112
113 // Fills test data into the history system. 113 // Fills test data into the history system.
114 void FillData(); 114 void FillData();
115 115
116 // Runs an autocomplete query on |text| and checks to see that the returned 116 // Runs an autocomplete query on |text| and checks to see that the returned
117 // results' destination URLs match those provided. 117 // results' destination URLs match those provided.
118 void RunTest(const std::wstring text, 118 void RunTest(const string16 text,
119 const std::wstring& desired_tld, 119 const string16& desired_tld,
120 bool prevent_inline_autocomplete, 120 bool prevent_inline_autocomplete,
121 const std::string* expected_urls, 121 const std::string* expected_urls,
122 size_t num_results); 122 size_t num_results);
123 123
124 void RunAdjustOffsetTest(const std::wstring text, size_t expected_offset); 124 void RunAdjustOffsetTest(const string16 text, size_t expected_offset);
125 125
126 MessageLoopForUI message_loop_; 126 MessageLoopForUI message_loop_;
127 BrowserThread ui_thread_; 127 BrowserThread ui_thread_;
128 BrowserThread file_thread_; 128 BrowserThread file_thread_;
129 ACMatches matches_; 129 ACMatches matches_;
130 scoped_ptr<TestingProfile> profile_; 130 scoped_ptr<TestingProfile> profile_;
131 HistoryService* history_service_; 131 HistoryService* history_service_;
132 132
133 private: 133 private:
134 scoped_refptr<HistoryURLProvider> autocomplete_; 134 scoped_refptr<HistoryURLProvider> autocomplete_;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 for (size_t i = 0; i < arraysize(test_db); ++i) { 173 for (size_t i = 0; i < arraysize(test_db); ++i) {
174 const TestURLInfo& cur = test_db[i]; 174 const TestURLInfo& cur = test_db[i];
175 const GURL current_url(cur.url); 175 const GURL current_url(cur.url);
176 history_service_->AddPageWithDetails(current_url, UTF8ToUTF16(cur.title), 176 history_service_->AddPageWithDetails(current_url, UTF8ToUTF16(cur.title),
177 cur.visit_count, cur.typed_count, 177 cur.visit_count, cur.typed_count,
178 visit_time, false, 178 visit_time, false,
179 history::SOURCE_BROWSED); 179 history::SOURCE_BROWSED);
180 } 180 }
181 } 181 }
182 182
183 void HistoryURLProviderTest::RunTest(const std::wstring text, 183 void HistoryURLProviderTest::RunTest(const string16 text,
184 const std::wstring& desired_tld, 184 const string16& desired_tld,
185 bool prevent_inline_autocomplete, 185 bool prevent_inline_autocomplete,
186 const std::string* expected_urls, 186 const std::string* expected_urls,
187 size_t num_results) { 187 size_t num_results) {
188 AutocompleteInput input(text, desired_tld, prevent_inline_autocomplete, 188 AutocompleteInput input(text, desired_tld, prevent_inline_autocomplete,
189 false, true, false); 189 false, true, false);
190 autocomplete_->Start(input, false); 190 autocomplete_->Start(input, false);
191 if (!autocomplete_->done()) 191 if (!autocomplete_->done())
192 MessageLoop::current()->Run(); 192 MessageLoop::current()->Run();
193 193
194 matches_ = autocomplete_->matches(); 194 matches_ = autocomplete_->matches();
195 ASSERT_EQ(num_results, matches_.size()) << "Input text: " << text 195 ASSERT_EQ(num_results, matches_.size()) << "Input text: " << text
196 << "\nTLD: \"" << desired_tld << "\""; 196 << "\nTLD: \"" << desired_tld << "\"";
197 for (size_t i = 0; i < num_results; ++i) 197 for (size_t i = 0; i < num_results; ++i)
198 EXPECT_EQ(expected_urls[i], matches_[i].destination_url.spec()); 198 EXPECT_EQ(expected_urls[i], matches_[i].destination_url.spec());
199 } 199 }
200 200
201 void HistoryURLProviderTest::RunAdjustOffsetTest(const std::wstring text, 201 void HistoryURLProviderTest::RunAdjustOffsetTest(const string16 text,
202 size_t expected_offset) { 202 size_t expected_offset) {
203 AutocompleteInput input(text, std::wstring(), false, false, true, false); 203 AutocompleteInput input(text, string16(), false, false, true, false);
204 autocomplete_->Start(input, false); 204 autocomplete_->Start(input, false);
205 if (!autocomplete_->done()) 205 if (!autocomplete_->done())
206 MessageLoop::current()->Run(); 206 MessageLoop::current()->Run();
207 207
208 matches_ = autocomplete_->matches(); 208 matches_ = autocomplete_->matches();
209 ASSERT_GE(matches_.size(), 1U) << "Input text: " << text; 209 ASSERT_GE(matches_.size(), 1U) << "Input text: " << text;
210 EXPECT_EQ(expected_offset, matches_[0].inline_autocomplete_offset); 210 EXPECT_EQ(expected_offset, matches_[0].inline_autocomplete_offset);
211 } 211 }
212 212
213 TEST_F(HistoryURLProviderTest, PromoteShorterURLs) { 213 TEST_F(HistoryURLProviderTest, PromoteShorterURLs) {
214 // Test that hosts get synthesized below popular pages. 214 // Test that hosts get synthesized below popular pages.
215 const std::string expected_nonsynth[] = { 215 const std::string expected_nonsynth[] = {
216 "http://slashdot.org/favorite_page.html", 216 "http://slashdot.org/favorite_page.html",
217 "http://slashdot.org/", 217 "http://slashdot.org/",
218 }; 218 };
219 RunTest(L"slash", std::wstring(), true, expected_nonsynth, 219 RunTest(ASCIIToUTF16("slash"), string16(), true, expected_nonsynth,
220 arraysize(expected_nonsynth)); 220 arraysize(expected_nonsynth));
221 221
222 // Test that hosts get synthesized above less popular pages. 222 // Test that hosts get synthesized above less popular pages.
223 const std::string expected_synth[] = { 223 const std::string expected_synth[] = {
224 "http://kerneltrap.org/", 224 "http://kerneltrap.org/",
225 "http://kerneltrap.org/not_very_popular.html", 225 "http://kerneltrap.org/not_very_popular.html",
226 }; 226 };
227 RunTest(L"kernel", std::wstring(), true, expected_synth, 227 RunTest(ASCIIToUTF16("kernel"), string16(), true, expected_synth,
228 arraysize(expected_synth)); 228 arraysize(expected_synth));
229 229
230 // Test that unpopular pages are ignored completely. 230 // Test that unpopular pages are ignored completely.
231 RunTest(L"fresh", std::wstring(), true, NULL, 0); 231 RunTest(ASCIIToUTF16("fresh"), string16(), true, NULL, 0);
232 232
233 // Test that if we have a synthesized host that matches a suggestion, they 233 // Test that if we have a synthesized host that matches a suggestion, they
234 // get combined into one. 234 // get combined into one.
235 const std::string expected_combine[] = { 235 const std::string expected_combine[] = {
236 "http://news.google.com/", 236 "http://news.google.com/",
237 "http://news.google.com/?ned=us&topic=n", 237 "http://news.google.com/?ned=us&topic=n",
238 }; 238 };
239 ASSERT_NO_FATAL_FAILURE(RunTest(L"news", std::wstring(), true, 239 ASSERT_NO_FATAL_FAILURE(RunTest(ASCIIToUTF16("news"), string16(), true,
240 expected_combine, arraysize(expected_combine))); 240 expected_combine, arraysize(expected_combine)));
241 // The title should also have gotten set properly on the host for the 241 // The title should also have gotten set properly on the host for the
242 // synthesized one, since it was also in the results. 242 // synthesized one, since it was also in the results.
243 EXPECT_EQ(std::wstring(L"Google News"), matches_.front().description); 243 EXPECT_EQ(ASCIIToUTF16("Google News"), matches_.front().description);
244 244
245 // Test that short URL matching works correctly as the user types more 245 // Test that short URL matching works correctly as the user types more
246 // (several tests): 246 // (several tests):
247 // The entry for foo.com is the best of all five foo.com* entries. 247 // The entry for foo.com is the best of all five foo.com* entries.
248 const std::string short_1[] = { 248 const std::string short_1[] = {
249 "http://foo.com/", 249 "http://foo.com/",
250 "http://foo.com/dir/another/again/myfile.html", 250 "http://foo.com/dir/another/again/myfile.html",
251 "http://foo.com/dir/", 251 "http://foo.com/dir/",
252 }; 252 };
253 RunTest(L"foo", std::wstring(), true, short_1, arraysize(short_1)); 253 RunTest(ASCIIToUTF16("foo"), string16(), true, short_1, arraysize(short_1));
254 254
255 // When the user types the whole host, make sure we don't get two results for 255 // When the user types the whole host, make sure we don't get two results for
256 // it. 256 // it.
257 const std::string short_2[] = { 257 const std::string short_2[] = {
258 "http://foo.com/", 258 "http://foo.com/",
259 "http://foo.com/dir/another/again/myfile.html", 259 "http://foo.com/dir/another/again/myfile.html",
260 "http://foo.com/dir/", 260 "http://foo.com/dir/",
261 "http://foo.com/dir/another/", 261 "http://foo.com/dir/another/",
262 }; 262 };
263 RunTest(L"foo.com", std::wstring(), true, short_2, arraysize(short_2)); 263 RunTest(ASCIIToUTF16("foo.com"), string16(), true, short_2,
264 RunTest(L"foo.com/", std::wstring(), true, short_2, arraysize(short_2)); 264 arraysize(short_2));
265 RunTest(ASCIIToUTF16("foo.com/"), string16(), true, short_2,
266 arraysize(short_2));
265 267
266 // The filename is the second best of the foo.com* entries, but there is a 268 // The filename is the second best of the foo.com* entries, but there is a
267 // shorter URL that's "good enough". The host doesn't match the user input 269 // shorter URL that's "good enough". The host doesn't match the user input
268 // and so should not appear. 270 // and so should not appear.
269 const std::string short_3[] = { 271 const std::string short_3[] = {
270 "http://foo.com/d", 272 "http://foo.com/d",
271 "http://foo.com/dir/another/", 273 "http://foo.com/dir/another/",
272 "http://foo.com/dir/another/again/myfile.html", 274 "http://foo.com/dir/another/again/myfile.html",
273 "http://foo.com/dir/", 275 "http://foo.com/dir/",
274 }; 276 };
275 RunTest(L"foo.com/d", std::wstring(), true, short_3, arraysize(short_3)); 277 RunTest(ASCIIToUTF16("foo.com/d"), string16(), true, short_3,
278 arraysize(short_3));
276 279
277 // We shouldn't promote shorter URLs than the best if they're not good 280 // We shouldn't promote shorter URLs than the best if they're not good
278 // enough. 281 // enough.
279 const std::string short_4[] = { 282 const std::string short_4[] = {
280 "http://foo.com/dir/another/a", 283 "http://foo.com/dir/another/a",
281 "http://foo.com/dir/another/again/myfile.html", 284 "http://foo.com/dir/another/again/myfile.html",
282 "http://foo.com/dir/another/again/", 285 "http://foo.com/dir/another/again/",
283 }; 286 };
284 RunTest(L"foo.com/dir/another/a", std::wstring(), true, short_4, 287 RunTest(ASCIIToUTF16("foo.com/dir/another/a"), string16(), true, short_4,
285 arraysize(short_4)); 288 arraysize(short_4));
286 289
287 // Exact matches should always be best no matter how much more another match 290 // Exact matches should always be best no matter how much more another match
288 // has been typed. 291 // has been typed.
289 const std::string short_5a[] = { 292 const std::string short_5a[] = {
290 "http://gooey/", 293 "http://gooey/",
291 "http://www.google.com/", 294 "http://www.google.com/",
292 }; 295 };
293 const std::string short_5b[] = { 296 const std::string short_5b[] = {
294 "http://go/", 297 "http://go/",
295 "http://gooey/", 298 "http://gooey/",
296 "http://www.google.com/", 299 "http://www.google.com/",
297 }; 300 };
298 RunTest(L"g", std::wstring(), false, short_5a, arraysize(short_5a)); 301 RunTest(ASCIIToUTF16("g"), string16(), false, short_5a, arraysize(short_5a));
299 RunTest(L"go", std::wstring(), false, short_5b, arraysize(short_5b)); 302 RunTest(ASCIIToUTF16("go"), string16(), false, short_5b, arraysize(short_5b));
300 } 303 }
301 304
302 TEST_F(HistoryURLProviderTest, CullRedirects) { 305 TEST_F(HistoryURLProviderTest, CullRedirects) {
303 // URLs we will be using, plus the visit counts they will initially get 306 // URLs we will be using, plus the visit counts they will initially get
304 // (the redirect set below will also increment the visit counts). We want 307 // (the redirect set below will also increment the visit counts). We want
305 // the results to be in A,B,C order. Note also that our visit counts are 308 // the results to be in A,B,C order. Note also that our visit counts are
306 // all high enough so that domain synthesizing won't get triggered. 309 // all high enough so that domain synthesizing won't get triggered.
307 struct RedirectCase { 310 struct RedirectCase {
308 const char* url; 311 const char* url;
309 int count; 312 int count;
(...skipping 19 matching lines...) Expand all
329 redirects_to_a.push_back(GURL(redirect[1].url)); 332 redirects_to_a.push_back(GURL(redirect[1].url));
330 redirects_to_a.push_back(GURL(redirect[2].url)); 333 redirects_to_a.push_back(GURL(redirect[2].url));
331 redirects_to_a.push_back(GURL(redirect[0].url)); 334 redirects_to_a.push_back(GURL(redirect[0].url));
332 history_service_->AddPage(GURL(redirect[0].url), NULL, 0, GURL(), 335 history_service_->AddPage(GURL(redirect[0].url), NULL, 0, GURL(),
333 PageTransition::TYPED, redirects_to_a, 336 PageTransition::TYPED, redirects_to_a,
334 history::SOURCE_BROWSED, true); 337 history::SOURCE_BROWSED, true);
335 338
336 // Because all the results are part of a redirect chain with other results, 339 // Because all the results are part of a redirect chain with other results,
337 // all but the first one (A) should be culled. We should get the default 340 // all but the first one (A) should be culled. We should get the default
338 // "what you typed" result, plus this one. 341 // "what you typed" result, plus this one.
339 const std::wstring typing(L"http://redirects/"); 342 const string16 typing(ASCIIToUTF16("http://redirects/"));
340 const std::string expected_results[] = { 343 const std::string expected_results[] = {
341 WideToUTF8(typing), 344 UTF16ToUTF8(typing),
342 redirect[0].url}; 345 redirect[0].url};
343 RunTest(typing, std::wstring(), true, expected_results, 346 RunTest(typing, string16(), true, expected_results,
344 arraysize(expected_results)); 347 arraysize(expected_results));
345 } 348 }
346 349
347 TEST_F(HistoryURLProviderTest, WhatYouTyped) { 350 TEST_F(HistoryURLProviderTest, WhatYouTyped) {
348 // Make sure we suggest a What You Typed match at the right times. 351 // Make sure we suggest a What You Typed match at the right times.
349 RunTest(L"wytmatch", std::wstring(), false, NULL, 0); 352 RunTest(ASCIIToUTF16("wytmatch"), string16(), false, NULL, 0);
350 RunTest(L"wytmatch foo bar", std::wstring(), false, NULL, 0); 353 RunTest(ASCIIToUTF16("wytmatch foo bar"), string16(), false, NULL, 0);
351 RunTest(L"wytmatch+foo+bar", std::wstring(), false, NULL, 0); 354 RunTest(ASCIIToUTF16("wytmatch+foo+bar"), string16(), false, NULL, 0);
352 RunTest(L"wytmatch+foo+bar.com", std::wstring(), false, NULL, 0); 355 RunTest(ASCIIToUTF16("wytmatch+foo+bar.com"), string16(), false, NULL, 0);
353 356
354 const std::string results_1[] = {"http://www.wytmatch.com/"}; 357 const std::string results_1[] = {"http://www.wytmatch.com/"};
355 RunTest(L"wytmatch", L"com", false, results_1, arraysize(results_1)); 358 RunTest(ASCIIToUTF16("wytmatch"), ASCIIToUTF16("com"), false, results_1,
359 arraysize(results_1));
356 360
357 const std::string results_2[] = {"http://wytmatch%20foo%20bar/"}; 361 const std::string results_2[] = {"http://wytmatch%20foo%20bar/"};
358 RunTest(L"http://wytmatch foo bar", std::wstring(), false, results_2, 362 RunTest(ASCIIToUTF16("http://wytmatch foo bar"), string16(), false, results_2,
359 arraysize(results_2)); 363 arraysize(results_2));
360 364
361 const std::string results_3[] = {"https://wytmatch%20foo%20bar/"}; 365 const std::string results_3[] = {"https://wytmatch%20foo%20bar/"};
362 RunTest(L"https://wytmatch foo bar", std::wstring(), false, results_3, 366 RunTest(ASCIIToUTF16("https://wytmatch foo bar"), string16(), false,
363 arraysize(results_3)); 367 results_3, arraysize(results_3));
364 368
365 // Test the corner case where a user has fully typed a previously visited 369 // Test the corner case where a user has fully typed a previously visited
366 // intranet address and is now hitting ctrl-enter, which completes to a 370 // intranet address and is now hitting ctrl-enter, which completes to a
367 // previously unvisted internet domain. 371 // previously unvisted internet domain.
368 const std::string binky_results[] = {"http://binky/"}; 372 const std::string binky_results[] = {"http://binky/"};
369 const std::string binky_com_results[] = { 373 const std::string binky_com_results[] = {
370 "http://www.binky.com/", 374 "http://www.binky.com/",
371 "http://binky/", 375 "http://binky/",
372 }; 376 };
373 RunTest(L"binky", std::wstring(), false, binky_results, 377 RunTest(ASCIIToUTF16("binky"), string16(), false, binky_results,
374 arraysize(binky_results)); 378 arraysize(binky_results));
375 RunTest(L"binky", L"com", false, binky_com_results, 379 RunTest(ASCIIToUTF16("binky"), ASCIIToUTF16("com"), false, binky_com_results,
376 arraysize(binky_com_results)); 380 arraysize(binky_com_results));
377 381
378 // Test the related case where a user has fully typed a previously visited 382 // Test the related case where a user has fully typed a previously visited
379 // intranet address and is now hitting ctrl-enter, which completes to a 383 // intranet address and is now hitting ctrl-enter, which completes to a
380 // previously visted internet domain. 384 // previously visted internet domain.
381 const std::string winky_results[] = { 385 const std::string winky_results[] = {
382 "http://winky/", 386 "http://winky/",
383 "http://www.winky.com/", 387 "http://www.winky.com/",
384 }; 388 };
385 const std::string winky_com_results[] = { 389 const std::string winky_com_results[] = {
386 "http://www.winky.com/", 390 "http://www.winky.com/",
387 "http://winky/", 391 "http://winky/",
388 }; 392 };
389 RunTest(L"winky", std::wstring(), false, winky_results, 393 RunTest(ASCIIToUTF16("winky"), string16(), false, winky_results,
390 arraysize(winky_results)); 394 arraysize(winky_results));
391 RunTest(L"winky", L"com", false, winky_com_results, 395 RunTest(ASCIIToUTF16("winky"), ASCIIToUTF16("com"), false, winky_com_results,
392 arraysize(winky_com_results)); 396 arraysize(winky_com_results));
393 } 397 }
394 398
395 TEST_F(HistoryURLProviderTest, Fixup) { 399 TEST_F(HistoryURLProviderTest, Fixup) {
396 // Test for various past crashes we've had. 400 // Test for various past crashes we've had.
397 RunTest(L"\\", std::wstring(), false, NULL, 0); 401 RunTest(ASCIIToUTF16("\\"), string16(), false, NULL, 0);
398 RunTest(L"#", std::wstring(), false, NULL, 0); 402 RunTest(ASCIIToUTF16("#"), string16(), false, NULL, 0);
399 RunTest(L"%20", std::wstring(), false, NULL, 0); 403 RunTest(ASCIIToUTF16("%20"), string16(), false, NULL, 0);
400 RunTest(L"\uff65@s", std::wstring(), false, NULL, 0); 404 RunTest(WideToUTF16(L"\uff65@s"), string16(), false, NULL, 0);
401 RunTest(L"\u2015\u2015@ \uff7c", std::wstring(), false, NULL, 0); 405 RunTest(WideToUTF16(L"\u2015\u2015@ \uff7c"), string16(), false, NULL, 0);
402 406
403 // Fixing up "file:" should result in an inline autocomplete offset of just 407 // Fixing up "file:" should result in an inline autocomplete offset of just
404 // after "file:", not just after "file://". 408 // after "file:", not just after "file://".
405 const std::wstring input_1(L"file:"); 409 const string16 input_1(ASCIIToUTF16("file:"));
406 const std::string fixup_1[] = {"file:///C:/foo.txt"}; 410 const std::string fixup_1[] = {"file:///C:/foo.txt"};
407 ASSERT_NO_FATAL_FAILURE(RunTest(input_1, std::wstring(), false, fixup_1, 411 ASSERT_NO_FATAL_FAILURE(RunTest(input_1, string16(), false, fixup_1,
408 arraysize(fixup_1))); 412 arraysize(fixup_1)));
409 EXPECT_EQ(input_1.length(), matches_.front().inline_autocomplete_offset); 413 EXPECT_EQ(input_1.length(), matches_.front().inline_autocomplete_offset);
410 414
411 // Fixing up "http:/" should result in an inline autocomplete offset of just 415 // Fixing up "http:/" should result in an inline autocomplete offset of just
412 // after "http:/", not just after "http:". 416 // after "http:/", not just after "http:".
413 const std::wstring input_2(L"http:/"); 417 const string16 input_2(ASCIIToUTF16("http:/"));
414 const std::string fixup_2[] = { 418 const std::string fixup_2[] = {
415 "http://bogussite.com/a", 419 "http://bogussite.com/a",
416 "http://bogussite.com/b", 420 "http://bogussite.com/b",
417 "http://bogussite.com/c", 421 "http://bogussite.com/c",
418 }; 422 };
419 ASSERT_NO_FATAL_FAILURE(RunTest(input_2, std::wstring(), false, fixup_2, 423 ASSERT_NO_FATAL_FAILURE(RunTest(input_2, string16(), false, fixup_2,
420 arraysize(fixup_2))); 424 arraysize(fixup_2)));
421 EXPECT_EQ(input_2.length(), matches_.front().inline_autocomplete_offset); 425 EXPECT_EQ(input_2.length(), matches_.front().inline_autocomplete_offset);
422 426
423 // Adding a TLD to a small number like "56" should result in "www.56.com" 427 // Adding a TLD to a small number like "56" should result in "www.56.com"
424 // rather than "0.0.0.56.com". 428 // rather than "0.0.0.56.com".
425 const std::string fixup_3[] = {"http://www.56.com/"}; 429 const std::string fixup_3[] = {"http://www.56.com/"};
426 RunTest(L"56", L"com", true, fixup_3, arraysize(fixup_3)); 430 RunTest(ASCIIToUTF16("56"), ASCIIToUTF16("com"), true, fixup_3,
431 arraysize(fixup_3));
427 432
428 // An input looks like a IP address like "127.0.0.1" should result in 433 // An input looks like a IP address like "127.0.0.1" should result in
429 // "http://127.0.0.1/". 434 // "http://127.0.0.1/".
430 const std::string fixup_4[] = {"http://127.0.0.1/"}; 435 const std::string fixup_4[] = {"http://127.0.0.1/"};
431 RunTest(L"127.0.0.1", std::wstring(), false, fixup_4, arraysize(fixup_4)); 436 RunTest(ASCIIToUTF16("127.0.0.1"), string16(), false, fixup_4,
437 arraysize(fixup_4));
432 438
433 // An number "17173" should result in "http://www.17173.com/" in db. 439 // An number "17173" should result in "http://www.17173.com/" in db.
434 const std::string fixup_5[] = {"http://www.17173.com/"}; 440 const std::string fixup_5[] = {"http://www.17173.com/"};
435 RunTest(L"17173", std::wstring(), false, fixup_5, arraysize(fixup_5)); 441 RunTest(ASCIIToUTF16("17173"), string16(), false, fixup_5,
442 arraysize(fixup_5));
436 } 443 }
437 444
438 TEST_F(HistoryURLProviderTest, AdjustOffset) { 445 TEST_F(HistoryURLProviderTest, AdjustOffset) {
439 RunAdjustOffsetTest(L"http://www.\uAD50\uC721", 13); 446 RunAdjustOffsetTest(WideToUTF16(L"http://www.\uAD50\uC721"), 13);
440 RunAdjustOffsetTest(L"http://spaces.com/path%20with%20spa", 31); 447 RunAdjustOffsetTest(ASCIIToUTF16("http://spaces.com/path%20with%20spa"), 31);
441 RunAdjustOffsetTest(L"http://ms/c++ s", 15); 448 RunAdjustOffsetTest(ASCIIToUTF16("http://ms/c++ s"), 15);
442 } 449 }
443 450
444 TEST_F(HistoryURLProviderTestNoDB, NavigateWithoutDB) { 451 TEST_F(HistoryURLProviderTestNoDB, NavigateWithoutDB) {
445 // Ensure that we will still produce matches for navigation when there is no 452 // Ensure that we will still produce matches for navigation when there is no
446 // database. 453 // database.
447 std::string navigation_1[] = {"http://test.com/"}; 454 std::string navigation_1[] = {"http://test.com/"};
448 RunTest(L"test.com", std::wstring(), false, navigation_1, 455 RunTest(ASCIIToUTF16("test.com"), string16(), false, navigation_1,
449 arraysize(navigation_1)); 456 arraysize(navigation_1));
450 457
451 std::string navigation_2[] = {"http://slash/"}; 458 std::string navigation_2[] = {"http://slash/"};
452 RunTest(L"slash", std::wstring(), false, navigation_2, 459 RunTest(ASCIIToUTF16("slash"), string16(), false, navigation_2,
453 arraysize(navigation_2)); 460 arraysize(navigation_2));
454 461
455 RunTest(L"this is a query", std::wstring(), false, NULL, 0); 462 RunTest(ASCIIToUTF16("this is a query"), string16(), false, NULL, 0);
456 } 463 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698