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

Side by Side Diff: chrome/browser/search_engines/template_url_service_unittest.cc

Issue 9968016: Move the URL string from TemplateURLRef onto the owning TemplateURL. This will make it easier to m… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 8 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/bind.h" 5 #include "base/bind.h"
6 #include "base/bind_helpers.h" 6 #include "base/bind_helpers.h"
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "base/string_split.h" 10 #include "base/string_split.h"
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 t_url->SetSuggestionsURL(suggest_url); 251 t_url->SetSuggestionsURL(suggest_url);
252 t_url->SetURL(url); 252 t_url->SetURL(url);
253 t_url->set_favicon_url(GURL(favicon_url)); 253 t_url->set_favicon_url(GURL(favicon_url));
254 model()->Add(t_url); 254 model()->Add(t_url);
255 EXPECT_NE(0, t_url->id()); 255 EXPECT_NE(0, t_url->id());
256 return t_url; 256 return t_url;
257 } 257 }
258 258
259 void TemplateURLServiceTest::AssertEquals(const TemplateURL& expected, 259 void TemplateURLServiceTest::AssertEquals(const TemplateURL& expected,
260 const TemplateURL& actual) { 260 const TemplateURL& actual) {
261 ASSERT_TRUE(TemplateURLRef::SameUrlRefs(expected.url(), actual.url())); 261 ASSERT_EQ(expected.short_name(), actual.short_name());
262 ASSERT_TRUE(TemplateURLRef::SameUrlRefs(expected.suggestions_url(), 262 ASSERT_EQ(expected.url(), actual.url());
263 actual.suggestions_url())); 263 ASSERT_EQ(expected.suggestions_url(), actual.suggestions_url());
264 ASSERT_EQ(expected.keyword(), actual.keyword()); 264 ASSERT_EQ(expected.keyword(), actual.keyword());
265 ASSERT_EQ(expected.short_name(), actual.short_name()); 265 ASSERT_EQ(expected.show_in_default_list(), actual.show_in_default_list());
266 ASSERT_EQ(JoinString(expected.input_encodings(), ';'), 266 ASSERT_EQ(expected.safe_for_autoreplace(), actual.safe_for_autoreplace());
267 JoinString(actual.input_encodings(), ';'));
268 ASSERT_EQ(expected.favicon_url(), actual.favicon_url()); 267 ASSERT_EQ(expected.favicon_url(), actual.favicon_url());
269 ASSERT_EQ(expected.id(), actual.id());
270 ASSERT_EQ(expected.safe_for_autoreplace(), actual.safe_for_autoreplace());
271 ASSERT_EQ(expected.show_in_default_list(), actual.show_in_default_list());
272 ASSERT_EQ(expected.date_created(), actual.date_created()); 268 ASSERT_EQ(expected.date_created(), actual.date_created());
273 ASSERT_EQ(expected.last_modified(), actual.last_modified()); 269 ASSERT_EQ(expected.last_modified(), actual.last_modified());
270 ASSERT_EQ(expected.input_encodings(), actual.input_encodings());
271 ASSERT_EQ(expected.id(), actual.id());
274 ASSERT_EQ(expected.sync_guid(), actual.sync_guid()); 272 ASSERT_EQ(expected.sync_guid(), actual.sync_guid());
275 } 273 }
276 274
277 void TemplateURLServiceTest::ExpectSimilar(const TemplateURL* expected, 275 void TemplateURLServiceTest::ExpectSimilar(const TemplateURL* expected,
278 const TemplateURL* actual) { 276 const TemplateURL* actual) {
279 ASSERT_TRUE(expected != NULL); 277 ASSERT_TRUE(expected != NULL);
280 ASSERT_TRUE(actual != NULL); 278 ASSERT_TRUE(actual != NULL);
281 EXPECT_TRUE(TemplateURLRef::SameUrlRefs(expected->url(), actual->url())); 279 EXPECT_EQ(expected->short_name(), actual->short_name());
282 EXPECT_TRUE(TemplateURLRef::SameUrlRefs(expected->suggestions_url(), 280 EXPECT_EQ(expected->url(), actual->url());
283 actual->suggestions_url())); 281 EXPECT_EQ(expected->suggestions_url(), actual->suggestions_url());
284 EXPECT_EQ(expected->keyword(), actual->keyword()); 282 EXPECT_EQ(expected->keyword(), actual->keyword());
285 EXPECT_EQ(expected->short_name(), actual->short_name()); 283 EXPECT_EQ(expected->show_in_default_list(), actual->show_in_default_list());
286 EXPECT_EQ(JoinString(expected->input_encodings(), ';'), 284 EXPECT_EQ(expected->safe_for_autoreplace(), actual->safe_for_autoreplace());
287 JoinString(actual->input_encodings(), ';'));
288 EXPECT_EQ(expected->favicon_url(), actual->favicon_url()); 285 EXPECT_EQ(expected->favicon_url(), actual->favicon_url());
289 EXPECT_EQ(expected->safe_for_autoreplace(), actual->safe_for_autoreplace()); 286 EXPECT_EQ(expected->input_encodings(), actual->input_encodings());
290 EXPECT_EQ(expected->show_in_default_list(), actual->show_in_default_list());
291 } 287 }
292 288
293 void TemplateURLServiceTest::SetManagedDefaultSearchPreferences( 289 void TemplateURLServiceTest::SetManagedDefaultSearchPreferences(
294 bool enabled, 290 bool enabled,
295 const std::string& name, 291 const std::string& name,
296 const std::string& search_url, 292 const std::string& search_url,
297 const std::string& suggest_url, 293 const std::string& suggest_url,
298 const std::string& icon_url, 294 const std::string& icon_url,
299 const std::string& encodings, 295 const std::string& encodings,
300 const std::string& keyword) { 296 const std::string& keyword) {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 size_t default_search_provider_index = 0; 332 size_t default_search_provider_index = 0;
337 TemplateURLPrepopulateData::GetPrepopulatedEngines( 333 TemplateURLPrepopulateData::GetPrepopulatedEngines(
338 test_util_.profile()->GetPrefs(), &prepopulated_urls.get(), 334 test_util_.profile()->GetPrefs(), &prepopulated_urls.get(),
339 &default_search_provider_index); 335 &default_search_provider_index);
340 EXPECT_LT(index_offset_from_default, prepopulated_urls.size()); 336 EXPECT_LT(index_offset_from_default, prepopulated_urls.size());
341 size_t prepopulated_index = (default_search_provider_index + 337 size_t prepopulated_index = (default_search_provider_index +
342 index_offset_from_default) % prepopulated_urls.size(); 338 index_offset_from_default) % prepopulated_urls.size();
343 TemplateURL* t_url = CreatePreloadedTemplateURL(safe_for_autoreplace, 339 TemplateURL* t_url = CreatePreloadedTemplateURL(safe_for_autoreplace,
344 prepopulated_urls[prepopulated_index]->prepopulate_id()); 340 prepopulated_urls[prepopulated_index]->prepopulate_id());
345 *prepopulated_display_url = 341 *prepopulated_display_url =
346 prepopulated_urls[prepopulated_index]->url()->DisplayURL(); 342 prepopulated_urls[prepopulated_index]->url_ref().DisplayURL();
347 return t_url; 343 return t_url;
348 } 344 }
349 345
350 void TemplateURLServiceTest::TestLoadUpdatingPreloadedURL( 346 void TemplateURLServiceTest::TestLoadUpdatingPreloadedURL(
351 size_t index_offset_from_default) { 347 size_t index_offset_from_default) {
352 string16 prepopulated_url; 348 string16 prepopulated_url;
353 TemplateURL* t_url = CreateReplaceablePreloadedTemplateURL(false, 349 TemplateURL* t_url = CreateReplaceablePreloadedTemplateURL(false,
354 index_offset_from_default, &prepopulated_url); 350 index_offset_from_default, &prepopulated_url);
355 351
356 string16 original_url = t_url->url()->DisplayURL(); 352 string16 original_url = t_url->url_ref().DisplayURL();
357 ASSERT_NE(prepopulated_url, original_url); 353 ASSERT_NE(prepopulated_url, original_url);
358 354
359 // Then add it to the model and save it all. 355 // Then add it to the model and save it all.
360 test_util_.ChangeModelToLoadState(); 356 test_util_.ChangeModelToLoadState();
361 model()->Add(t_url); 357 model()->Add(t_url);
362 const TemplateURL* keyword_url = 358 const TemplateURL* keyword_url =
363 model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest")); 359 model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest"));
364 ASSERT_EQ(t_url, keyword_url); 360 ASSERT_EQ(t_url, keyword_url);
365 ASSERT_EQ(original_url, keyword_url->url()->DisplayURL()); 361 ASSERT_EQ(original_url, keyword_url->url_ref().DisplayURL());
366 test_util_.BlockTillServiceProcessesRequests(); 362 test_util_.BlockTillServiceProcessesRequests();
367 363
368 // Now reload the model and verify that the merge updates the url. 364 // Now reload the model and verify that the merge updates the url.
369 test_util_.ResetModel(true); 365 test_util_.ResetModel(true);
370 keyword_url = model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest")); 366 keyword_url = model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest"));
371 ASSERT_TRUE(keyword_url != NULL); 367 ASSERT_TRUE(keyword_url != NULL);
372 ASSERT_EQ(prepopulated_url, keyword_url->url()->DisplayURL()); 368 ASSERT_EQ(prepopulated_url, keyword_url->url_ref().DisplayURL());
373 369
374 // Wait for any saves to finish. 370 // Wait for any saves to finish.
375 test_util_.BlockTillServiceProcessesRequests(); 371 test_util_.BlockTillServiceProcessesRequests();
376 372
377 // Reload the model to verify that change was saved correctly. 373 // Reload the model to verify that change was saved correctly.
378 test_util_.ResetModel(true); 374 test_util_.ResetModel(true);
379 keyword_url = model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest")); 375 keyword_url = model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest"));
380 ASSERT_TRUE(keyword_url != NULL); 376 ASSERT_TRUE(keyword_url != NULL);
381 ASSERT_EQ(prepopulated_url, keyword_url->url()->DisplayURL()); 377 ASSERT_EQ(prepopulated_url, keyword_url->url_ref().DisplayURL());
382 } 378 }
383 379
384 void TemplateURLServiceTest::VerifyObserverCount(int expected_changed_count) { 380 void TemplateURLServiceTest::VerifyObserverCount(int expected_changed_count) {
385 EXPECT_EQ(expected_changed_count, test_util_.GetObserverCount()); 381 EXPECT_EQ(expected_changed_count, test_util_.GetObserverCount());
386 test_util_.ResetObserverCount(); 382 test_util_.ResetObserverCount();
387 } 383 }
388 384
389 void TemplateURLServiceTest::VerifyObserverFired() { 385 void TemplateURLServiceTest::VerifyObserverFired() {
390 EXPECT_LE(1, test_util_.GetObserverCount()); 386 EXPECT_LE(1, test_util_.GetObserverCount());
391 test_util_.ResetObserverCount(); 387 test_util_.ResetObserverCount();
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 // resets the TimeProvider in the TemplateURLService. 435 // resets the TimeProvider in the TemplateURLService.
440 StrictMock<base::MockTimeProvider> mock_time; 436 StrictMock<base::MockTimeProvider> mock_time;
441 model()->set_time_provider(&base::MockTimeProvider::StaticNow); 437 model()->set_time_provider(&base::MockTimeProvider::StaticNow);
442 EXPECT_CALL(mock_time, Now()).WillOnce(Return(base::Time::FromDoubleT(1337))); 438 EXPECT_CALL(mock_time, Now()).WillOnce(Return(base::Time::FromDoubleT(1337)));
443 439
444 // Mutate an element and verify it succeeded. 440 // Mutate an element and verify it succeeded.
445 model()->ResetTemplateURL(loaded_url, ASCIIToUTF16("a"), ASCIIToUTF16("b"), 441 model()->ResetTemplateURL(loaded_url, ASCIIToUTF16("a"), ASCIIToUTF16("b"),
446 "c"); 442 "c");
447 ASSERT_EQ(ASCIIToUTF16("a"), loaded_url->short_name()); 443 ASSERT_EQ(ASCIIToUTF16("a"), loaded_url->short_name());
448 ASSERT_EQ(ASCIIToUTF16("b"), loaded_url->keyword()); 444 ASSERT_EQ(ASCIIToUTF16("b"), loaded_url->keyword());
449 ASSERT_EQ("c", loaded_url->url()->url()); 445 ASSERT_EQ("c", loaded_url->url());
450 ASSERT_FALSE(loaded_url->safe_for_autoreplace()); 446 ASSERT_FALSE(loaded_url->safe_for_autoreplace());
451 ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("keyword"), GURL(), 447 ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("keyword"), GURL(),
452 NULL)); 448 NULL));
453 ASSERT_FALSE(model()->CanReplaceKeyword(ASCIIToUTF16("b"), GURL(), NULL)); 449 ASSERT_FALSE(model()->CanReplaceKeyword(ASCIIToUTF16("b"), GURL(), NULL));
454 cloned_url = *loaded_url; 450 cloned_url = *loaded_url;
455 test_util_.BlockTillServiceProcessesRequests(); 451 test_util_.BlockTillServiceProcessesRequests();
456 test_util_.ResetModel(true); 452 test_util_.ResetModel(true);
457 ASSERT_EQ(initial_count + 1, model()->GetTemplateURLs().size()); 453 ASSERT_EQ(initial_count + 1, model()->GetTemplateURLs().size());
458 loaded_url = model()->GetTemplateURLForKeyword(ASCIIToUTF16("b")); 454 loaded_url = model()->GetTemplateURLForKeyword(ASCIIToUTF16("b"));
459 ASSERT_TRUE(loaded_url != NULL); 455 ASSERT_TRUE(loaded_url != NULL);
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 model()->set_time_provider(&base::MockTimeProvider::StaticNow); 642 model()->set_time_provider(&base::MockTimeProvider::StaticNow);
647 EXPECT_CALL(mock_time, Now()).WillOnce(Return(base::Time::FromDoubleT(1337))); 643 EXPECT_CALL(mock_time, Now()).WillOnce(Return(base::Time::FromDoubleT(1337)));
648 644
649 // Reset the short name, keyword, url and make sure it takes. 645 // Reset the short name, keyword, url and make sure it takes.
650 const string16 new_short_name(ASCIIToUTF16("a")); 646 const string16 new_short_name(ASCIIToUTF16("a"));
651 const string16 new_keyword(ASCIIToUTF16("b")); 647 const string16 new_keyword(ASCIIToUTF16("b"));
652 const std::string new_url("c"); 648 const std::string new_url("c");
653 model()->ResetTemplateURL(t_url, new_short_name, new_keyword, new_url); 649 model()->ResetTemplateURL(t_url, new_short_name, new_keyword, new_url);
654 ASSERT_EQ(new_short_name, t_url->short_name()); 650 ASSERT_EQ(new_short_name, t_url->short_name());
655 ASSERT_EQ(new_keyword, t_url->keyword()); 651 ASSERT_EQ(new_keyword, t_url->keyword());
656 ASSERT_EQ(new_url, t_url->url()->url()); 652 ASSERT_EQ(new_url, t_url->url());
657 653
658 // Make sure the mappings in the model were updated. 654 // Make sure the mappings in the model were updated.
659 ASSERT_EQ(t_url, model()->GetTemplateURLForKeyword(new_keyword)); 655 ASSERT_EQ(t_url, model()->GetTemplateURLForKeyword(new_keyword));
660 ASSERT_TRUE( 656 ASSERT_TRUE(
661 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword")) == NULL); 657 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword")) == NULL);
662 658
663 TemplateURL last_url(*t_url); 659 TemplateURL last_url(*t_url);
664 660
665 // Reload the model from the database and make sure the change took. 661 // Reload the model from the database and make sure the change took.
666 test_util_.ResetModel(true); 662 test_util_.ResetModel(true);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 "http://sugg1", "http://icon1", "UTF-8;UTF-16", "name1", true, Time(), 727 "http://sugg1", "http://icon1", "UTF-8;UTF-16", "name1", true, Time(),
732 Time()); 728 Time());
733 729
734 // Can still replace, newly added template url is marked safe to replace. 730 // Can still replace, newly added template url is marked safe to replace.
735 ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("foo"), 731 ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("foo"),
736 GURL("http://foo2"), NULL)); 732 GURL("http://foo2"), NULL));
737 733
738 // ResetTemplateURL marks the TemplateURL as unsafe to replace, so it should 734 // ResetTemplateURL marks the TemplateURL as unsafe to replace, so it should
739 // no longer be replaceable. 735 // no longer be replaceable.
740 model()->ResetTemplateURL(t_url, t_url->short_name(), t_url->keyword(), 736 model()->ResetTemplateURL(t_url, t_url->short_name(), t_url->keyword(),
741 t_url->url()->url()); 737 t_url->url());
742 738
743 ASSERT_FALSE(model()->CanReplaceKeyword(ASCIIToUTF16("foo"), 739 ASSERT_FALSE(model()->CanReplaceKeyword(ASCIIToUTF16("foo"),
744 GURL("http://foo2"), NULL)); 740 GURL("http://foo2"), NULL));
745 } 741 }
746 742
747 TEST_F(TemplateURLServiceTest, CantReplaceWithSameHosts) { 743 TEST_F(TemplateURLServiceTest, CantReplaceWithSameHosts) {
748 test_util_.ChangeModelToLoadState(); 744 test_util_.ChangeModelToLoadState();
749 ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("foo"), 745 ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("foo"),
750 GURL("http://foo.com"), NULL)); 746 GURL("http://foo.com"), NULL));
751 TemplateURL* t_url = AddKeywordWithDate("foo", false, "http://foo.com", 747 TemplateURL* t_url = AddKeywordWithDate("foo", false, "http://foo.com",
752 "http://sugg1", "http://icon1", "UTF-8;UTF-16", "name1", true, Time(), 748 "http://sugg1", "http://icon1", "UTF-8;UTF-16", "name1", true, Time(),
753 Time()); 749 Time());
754 750
755 // Can still replace, newly added template url is marked safe to replace. 751 // Can still replace, newly added template url is marked safe to replace.
756 ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("bar"), 752 ASSERT_TRUE(model()->CanReplaceKeyword(ASCIIToUTF16("bar"),
757 GURL("http://foo.com"), NULL)); 753 GURL("http://foo.com"), NULL));
758 754
759 // ResetTemplateURL marks the TemplateURL as unsafe to replace, so it should 755 // ResetTemplateURL marks the TemplateURL as unsafe to replace, so it should
760 // no longer be replaceable. 756 // no longer be replaceable.
761 model()->ResetTemplateURL(t_url, t_url->short_name(), t_url->keyword(), 757 model()->ResetTemplateURL(t_url, t_url->short_name(), t_url->keyword(),
762 t_url->url()->url()); 758 t_url->url());
763 759
764 ASSERT_FALSE(model()->CanReplaceKeyword(ASCIIToUTF16("bar"), 760 ASSERT_FALSE(model()->CanReplaceKeyword(ASCIIToUTF16("bar"),
765 GURL("http://foo.com"), NULL)); 761 GURL("http://foo.com"), NULL));
766 } 762 }
767 763
768 TEST_F(TemplateURLServiceTest, HasDefaultSearchProvider) { 764 TEST_F(TemplateURLServiceTest, HasDefaultSearchProvider) {
769 // We should have a default search provider even if we haven't loaded. 765 // We should have a default search provider even if we haven't loaded.
770 ASSERT_TRUE(model()->GetDefaultSearchProvider()); 766 ASSERT_TRUE(model()->GetDefaultSearchProvider());
771 767
772 // Now force the model to load and make sure we still have a default. 768 // Now force the model to load and make sure we still have a default.
(...skipping 21 matching lines...) Expand all
794 TemplateURL first_default_search_provider(*t_url); 790 TemplateURL first_default_search_provider(*t_url);
795 791
796 // Reset the model and don't load it. The template url we set as the default 792 // Reset the model and don't load it. The template url we set as the default
797 // should be pulled from prefs now. 793 // should be pulled from prefs now.
798 test_util_.ResetModel(false); 794 test_util_.ResetModel(false);
799 795
800 // NOTE: This doesn't use AssertEquals as only a subset of the TemplateURLs 796 // NOTE: This doesn't use AssertEquals as only a subset of the TemplateURLs
801 // value are persisted to prefs. 797 // value are persisted to prefs.
802 const TemplateURL* default_turl = model()->GetDefaultSearchProvider(); 798 const TemplateURL* default_turl = model()->GetDefaultSearchProvider();
803 ASSERT_TRUE(default_turl); 799 ASSERT_TRUE(default_turl);
804 ASSERT_TRUE(default_turl->url()); 800 ASSERT_EQ("http://url", default_turl->url());
805 ASSERT_EQ("http://url", default_turl->url()->url()); 801 ASSERT_EQ("http://url2", default_turl->suggestions_url());
806 ASSERT_TRUE(default_turl->suggestions_url()); 802 EXPECT_EQ("http://instant", default_turl->instant_url());
807 ASSERT_EQ("http://url2", default_turl->suggestions_url()->url());
808 ASSERT_TRUE(default_turl->instant_url());
809 EXPECT_EQ("http://instant", default_turl->instant_url()->url());
810 ASSERT_EQ(ASCIIToUTF16("a"), default_turl->short_name()); 803 ASSERT_EQ(ASCIIToUTF16("a"), default_turl->short_name());
811 ASSERT_EQ(id, default_turl->id()); 804 ASSERT_EQ(id, default_turl->id());
812 805
813 // Now do a load and make sure the default search provider really takes. 806 // Now do a load and make sure the default search provider really takes.
814 test_util_.VerifyLoad(); 807 test_util_.VerifyLoad();
815 808
816 ASSERT_TRUE(model()->GetDefaultSearchProvider()); 809 ASSERT_TRUE(model()->GetDefaultSearchProvider());
817 AssertEquals(first_default_search_provider, 810 AssertEquals(first_default_search_provider,
818 *model()->GetDefaultSearchProvider()); 811 *model()->GetDefaultSearchProvider());
819 } 812 }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 TEST_F(TemplateURLServiceTest, ChangeGoogleBaseValue) { 910 TEST_F(TemplateURLServiceTest, ChangeGoogleBaseValue) {
918 // NOTE: Do not do a VerifyLoad() here as it will load the prepopulate data, 911 // NOTE: Do not do a VerifyLoad() here as it will load the prepopulate data,
919 // which also has a {google:baseURL} keyword in it, which will confuse this 912 // which also has a {google:baseURL} keyword in it, which will confuse this
920 // test. 913 // test.
921 test_util_.ChangeModelToLoadState(); 914 test_util_.ChangeModelToLoadState();
922 test_util_.SetGoogleBaseURL("http://google.com/"); 915 test_util_.SetGoogleBaseURL("http://google.com/");
923 const TemplateURL* t_url = AddKeywordWithDate("google.com", true, 916 const TemplateURL* t_url = AddKeywordWithDate("google.com", true,
924 "{google:baseURL}?q={searchTerms}", "http://sugg1", "http://icon1", 917 "{google:baseURL}?q={searchTerms}", "http://sugg1", "http://icon1",
925 "UTF-8;UTF-16", "name", false, Time(), Time()); 918 "UTF-8;UTF-16", "name", false, Time(), Time());
926 ASSERT_EQ(t_url, model()->GetTemplateURLForHost("google.com")); 919 ASSERT_EQ(t_url, model()->GetTemplateURLForHost("google.com"));
927 EXPECT_EQ("google.com", t_url->url()->GetHost()); 920 EXPECT_EQ("google.com", t_url->url_ref().GetHost());
928 EXPECT_EQ(ASCIIToUTF16("google.com"), t_url->keyword()); 921 EXPECT_EQ(ASCIIToUTF16("google.com"), t_url->keyword());
929 922
930 // Change the Google base url. 923 // Change the Google base url.
931 test_util_.ResetObserverCount(); 924 test_util_.ResetObserverCount();
932 test_util_.SetGoogleBaseURL("http://google.co.uk/"); 925 test_util_.SetGoogleBaseURL("http://google.co.uk/");
933 VerifyObserverCount(1); 926 VerifyObserverCount(1);
934 927
935 // Make sure the host->TemplateURL map was updated appropriately. 928 // Make sure the host->TemplateURL map was updated appropriately.
936 ASSERT_EQ(t_url, model()->GetTemplateURLForHost("google.co.uk")); 929 ASSERT_EQ(t_url, model()->GetTemplateURLForHost("google.co.uk"));
937 EXPECT_TRUE(model()->GetTemplateURLForHost("google.com") == NULL); 930 EXPECT_TRUE(model()->GetTemplateURLForHost("google.com") == NULL);
938 EXPECT_EQ("google.co.uk", t_url->url()->GetHost()); 931 EXPECT_EQ("google.co.uk", t_url->url_ref().GetHost());
939 EXPECT_EQ(ASCIIToUTF16("google.co.uk"), t_url->keyword()); 932 EXPECT_EQ(ASCIIToUTF16("google.co.uk"), t_url->keyword());
940 EXPECT_EQ("http://google.co.uk/?q=x", t_url->url()->ReplaceSearchTerms( 933 EXPECT_EQ("http://google.co.uk/?q=x", t_url->url_ref().ReplaceSearchTerms(
941 ASCIIToUTF16("x"), TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, string16())); 934 ASCIIToUTF16("x"), TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, string16()));
942 } 935 }
943 936
944 struct QueryHistoryCallbackImpl { 937 struct QueryHistoryCallbackImpl {
945 QueryHistoryCallbackImpl() : success(false) {} 938 QueryHistoryCallbackImpl() : success(false) {}
946 939
947 void Callback(HistoryService::Handle handle, 940 void Callback(HistoryService::Handle handle,
948 bool success, 941 bool success,
949 const history::URLRow* row, 942 const history::URLRow* row,
950 history::VisitVector* visits) { 943 history::VisitVector* visits) {
(...skipping 18 matching lines...) Expand all
969 // Create a keyword. 962 // Create a keyword.
970 TemplateURL* t_url = AddKeywordWithDate( 963 TemplateURL* t_url = AddKeywordWithDate(
971 "keyword", false, "http://foo.com/foo?query={searchTerms}", 964 "keyword", false, "http://foo.com/foo?query={searchTerms}",
972 "http://sugg1", "http://icon1", "UTF-8;UTF-16", "keyword", 965 "http://sugg1", "http://icon1", "UTF-8;UTF-16", "keyword",
973 true, base::Time::Now(), base::Time::Now()); 966 true, base::Time::Now(), base::Time::Now());
974 967
975 // Add a visit that matches the url of the keyword. 968 // Add a visit that matches the url of the keyword.
976 HistoryService* history = 969 HistoryService* history =
977 test_util_.profile()->GetHistoryService(Profile::EXPLICIT_ACCESS); 970 test_util_.profile()->GetHistoryService(Profile::EXPLICIT_ACCESS);
978 history->AddPage( 971 history->AddPage(
979 GURL(t_url->url()->ReplaceSearchTerms(ASCIIToUTF16("blah"), 972 GURL(t_url->url_ref().ReplaceSearchTerms(ASCIIToUTF16("blah"),
980 TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, string16())), 973 TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, string16())),
981 NULL, 0, GURL(), content::PAGE_TRANSITION_KEYWORD, 974 NULL, 0, GURL(), content::PAGE_TRANSITION_KEYWORD,
982 history::RedirectList(), history::SOURCE_BROWSED, false); 975 history::RedirectList(), history::SOURCE_BROWSED, false);
983 976
984 // Wait for history to finish processing the request. 977 // Wait for history to finish processing the request.
985 test_util_.profile()->BlockUntilHistoryProcessesPendingRequests(); 978 test_util_.profile()->BlockUntilHistoryProcessesPendingRequests();
986 979
987 // Query history for the generated url. 980 // Query history for the generated url.
988 CancelableRequestConsumer consumer; 981 CancelableRequestConsumer consumer;
989 QueryHistoryCallbackImpl callback; 982 QueryHistoryCallbackImpl callback;
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
1318 1311
1319 // Reload the model to verify it was actually saved to the database and 1312 // Reload the model to verify it was actually saved to the database and
1320 // assigned a new GUID when brought back. 1313 // assigned a new GUID when brought back.
1321 test_util_.ResetModel(true); 1314 test_util_.ResetModel(true);
1322 ASSERT_EQ(initial_count + 1, model()->GetTemplateURLs().size()); 1315 ASSERT_EQ(initial_count + 1, model()->GetTemplateURLs().size());
1323 const TemplateURL* loaded_url = 1316 const TemplateURL* loaded_url =
1324 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword")); 1317 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword"));
1325 ASSERT_TRUE(loaded_url != NULL); 1318 ASSERT_TRUE(loaded_url != NULL);
1326 ASSERT_FALSE(loaded_url->sync_guid().empty()); 1319 ASSERT_FALSE(loaded_url->sync_guid().empty());
1327 } 1320 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698