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

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

Issue 2639153002: Make extensions DSE persistent in browser prefs (Reland) (Closed)
Patch Set: Rebased and updated after review, use new keyword conflicts resolution Created 3 years, 9 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
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 "components/search_engines/template_url_service.h" 5 #include "components/search_engines/template_url_service.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 EXPECT_NE(0, t_url->id()); 120 EXPECT_NE(0, t_url->id());
121 return t_url; 121 return t_url;
122 } 122 }
123 123
124 // Checks that the two TemplateURLs are similar. It does not check the id or 124 // Checks that the two TemplateURLs are similar. It does not check the id or
125 // any time-related fields. Neither pointer should be NULL. 125 // any time-related fields. Neither pointer should be NULL.
126 void ExpectSimilar(const TemplateURL* expected, const TemplateURL* actual) { 126 void ExpectSimilar(const TemplateURL* expected, const TemplateURL* actual) {
127 ASSERT_TRUE(expected != NULL); 127 ASSERT_TRUE(expected != NULL);
128 ASSERT_TRUE(actual != NULL); 128 ASSERT_TRUE(actual != NULL);
129 EXPECT_EQ(expected->short_name(), actual->short_name()); 129 EXPECT_EQ(expected->short_name(), actual->short_name());
130 EXPECT_EQ(expected->keyword(), actual->keyword());
131 EXPECT_EQ(expected->url(), actual->url()); 130 EXPECT_EQ(expected->url(), actual->url());
vasilii 2017/02/27 15:20:35 Why is the keyword check gone?
Alexander Yashkin 2017/02/27 19:36:03 My fault, did not restored previous version comple
132 EXPECT_EQ(expected->suggestions_url(), actual->suggestions_url()); 131 EXPECT_EQ(expected->suggestions_url(), actual->suggestions_url());
133 EXPECT_EQ(expected->favicon_url(), actual->favicon_url()); 132 EXPECT_EQ(expected->favicon_url(), actual->favicon_url());
134 EXPECT_EQ(expected->alternate_urls(), actual->alternate_urls()); 133 EXPECT_EQ(expected->alternate_urls(), actual->alternate_urls());
135 EXPECT_EQ(expected->safe_for_autoreplace(), actual->safe_for_autoreplace()); 134 EXPECT_EQ(expected->safe_for_autoreplace(), actual->safe_for_autoreplace());
136 EXPECT_EQ(expected->input_encodings(), actual->input_encodings()); 135 EXPECT_EQ(expected->input_encodings(), actual->input_encodings());
137 EXPECT_EQ(expected->search_terms_replacement_key(), 136 EXPECT_EQ(expected->search_terms_replacement_key(),
138 actual->search_terms_replacement_key()); 137 actual->search_terms_replacement_key());
139 } 138 }
140 139
141 std::unique_ptr<TemplateURLData> CreateTestSearchEngine() { 140 std::unique_ptr<TemplateURLData> CreateTestSearchEngine() {
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 GenerateDummyTemplateURLData(keyword); 267 GenerateDummyTemplateURLData(keyword);
269 turl_data->safe_for_autoreplace = false; 268 turl_data->safe_for_autoreplace = false;
270 269
271 auto ext_dse = base::MakeUnique<TemplateURL>( 270 auto ext_dse = base::MakeUnique<TemplateURL>(
272 *turl_data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); 271 *turl_data, TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
273 auto extension_info = 272 auto extension_info =
274 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>(extension_name); 273 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>(extension_name);
275 extension_info->wants_to_be_default_engine = wants_to_be_default_engine; 274 extension_info->wants_to_be_default_engine = wants_to_be_default_engine;
276 extension_info->install_time = install_time; 275 extension_info->install_time = install_time;
277 276
278 return model()->AddExtensionControlledTURL(std::move(ext_dse), 277 return test_util()->AddExtensionControlledTURL(std::move(ext_dse),
279 std::move(extension_info)); 278 std::move(extension_info));
280 } 279 }
281 280
282 void TemplateURLServiceTest::AssertEquals(const TemplateURL& expected, 281 void TemplateURLServiceTest::AssertEquals(const TemplateURL& expected,
283 const TemplateURL& actual) { 282 const TemplateURL& actual) {
284 ASSERT_EQ(expected.short_name(), actual.short_name()); 283 ASSERT_EQ(expected.short_name(), actual.short_name());
285 ASSERT_EQ(expected.keyword(), actual.keyword()); 284 ASSERT_EQ(expected.keyword(), actual.keyword());
286 ASSERT_EQ(expected.url(), actual.url()); 285 ASSERT_EQ(expected.url(), actual.url());
287 ASSERT_EQ(expected.suggestions_url(), actual.suggestions_url()); 286 ASSERT_EQ(expected.suggestions_url(), actual.suggestions_url());
288 ASSERT_EQ(expected.favicon_url(), actual.favicon_url()); 287 ASSERT_EQ(expected.favicon_url(), actual.favicon_url());
289 ASSERT_EQ(expected.alternate_urls(), actual.alternate_urls()); 288 ASSERT_EQ(expected.alternate_urls(), actual.alternate_urls());
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse"))); 1074 base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse")));
1076 model()->SetUserSelectedDefaultSearchProvider(user_dse); 1075 model()->SetUserSelectedDefaultSearchProvider(user_dse);
1077 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); 1076 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider());
1078 1077
1079 // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. 1078 // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID.
1080 EXPECT_EQ(user_dse->sync_guid(), 1079 EXPECT_EQ(user_dse->sync_guid(),
1081 test_util()->profile()->GetTestingPrefService()->GetString( 1080 test_util()->profile()->GetTestingPrefService()->GetString(
1082 prefs::kSyncedDefaultSearchProviderGUID)); 1081 prefs::kSyncedDefaultSearchProviderGUID));
1083 1082
1084 // Add extension controlled default search engine. 1083 // Add extension controlled default search engine.
1085 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( 1084 TemplateURL* extension_dse =
1086 new TemplateURL::AssociatedExtensionInfo("extension")); 1085 AddExtensionSearchEngine("extension_dse", "extension_id", true, Time());
1087 extension_info->wants_to_be_default_engine = true;
1088 TemplateURL* extension_dse = model()->AddExtensionControlledTURL(
1089 base::MakeUnique<TemplateURL>(
1090 *GenerateDummyTemplateURLData("extension_dse"),
1091 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION),
1092 std::move(extension_info));
1093 EXPECT_EQ(extension_dse, model()->GetDefaultSearchProvider()); 1086 EXPECT_EQ(extension_dse, model()->GetDefaultSearchProvider());
1094 // Check that user DSE guid is still stored in 1087 // Check that user DSE guid is still stored in
1095 // kSyncedDefaultSearchProviderGUID. 1088 // kSyncedDefaultSearchProviderGUID.
1096 EXPECT_EQ(user_dse->sync_guid(), 1089 EXPECT_EQ(user_dse->sync_guid(),
1097 test_util()->profile()->GetTestingPrefService()->GetString( 1090 test_util()->profile()->GetTestingPrefService()->GetString(
1098 prefs::kSyncedDefaultSearchProviderGUID)); 1091 prefs::kSyncedDefaultSearchProviderGUID));
1099 1092
1100 model()->RepairPrepopulatedSearchEngines(); 1093 model()->RepairPrepopulatedSearchEngines();
1101 // Check that extension engine is still default but sync guid is updated to 1094 // Check that extension engine is still default but sync guid is updated to
1102 // initial dse guid. 1095 // initial dse guid.
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
1640 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); 1633 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider());
1641 1634
1642 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( 1635 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate(
1643 model(), "ext", "ext", "http://www.search.com/s?q={searchTerms}", 1636 model(), "ext", "ext", "http://www.search.com/s?q={searchTerms}",
1644 std::string(), std::string(), std::string(), true, kPrepopulatedId, 1637 std::string(), std::string(), std::string(), true, kPrepopulatedId,
1645 "UTF-8", Time(), Time(), Time(), 1638 "UTF-8", Time(), Time(), Time(),
1646 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); 1639 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
1647 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( 1640 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info(
1648 new TemplateURL::AssociatedExtensionInfo("ext")); 1641 new TemplateURL::AssociatedExtensionInfo("ext"));
1649 extension_info->wants_to_be_default_engine = true; 1642 extension_info->wants_to_be_default_engine = true;
1650 TemplateURL* ext_dse_ptr = model()->AddExtensionControlledTURL( 1643 TemplateURL* ext_dse_ptr = test_util()->AddExtensionControlledTURL(
1651 std::move(ext_dse), std::move(extension_info)); 1644 std::move(ext_dse), std::move(extension_info));
1652 EXPECT_EQ(ext_dse_ptr, model()->GetDefaultSearchProvider()); 1645 EXPECT_EQ(ext_dse_ptr, model()->GetDefaultSearchProvider());
1653 1646
1654 model()->RemoveExtensionControlledTURL( 1647 test_util()->RemoveExtensionControlledTURL("ext");
1655 "ext", TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
1656 ExpectSimilar(user_dse, model()->GetDefaultSearchProvider()); 1648 ExpectSimilar(user_dse, model()->GetDefaultSearchProvider());
1657 } 1649 }
1658 1650
1659 TEST_F(TemplateURLServiceTest, ExtensionEnginesNotPersist) { 1651 TEST_F(TemplateURLServiceTest, DefaultExtensionEnginePersist) {
1660 test_util()->VerifyLoad(); 1652 test_util()->VerifyLoad();
1661 // Add third-party default search engine. 1653 // Add third-party default search engine.
1662 TemplateURL* user_dse = AddKeywordWithDate( 1654 TemplateURL* user_dse = AddKeywordWithDate(
1663 "user", "user", "http://www.goo.com/s?q={searchTerms}", std::string(), 1655 "user", "user", "http://www.goo.com/s?q={searchTerms}", std::string(),
1664 std::string(), std::string(), true, "UTF-8", Time(), Time(), Time()); 1656 std::string(), std::string(), true, "UTF-8", Time(), Time(), Time());
1665 model()->SetUserSelectedDefaultSearchProvider(user_dse); 1657 model()->SetUserSelectedDefaultSearchProvider(user_dse);
1666 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); 1658 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider());
1667 1659
1660 // Create non-default extension search engine.
1668 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( 1661 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate(
1669 model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}", 1662 model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}",
1670 std::string(), std::string(), std::string(), true, 0, "UTF-8", Time(), 1663 std::string(), std::string(), std::string(), true, 0, "UTF-8", Time(),
1671 Time(), Time(), TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); 1664 Time(), Time(), TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
1672 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info( 1665 std::unique_ptr<TemplateURL::AssociatedExtensionInfo> extension_info(
1673 new TemplateURL::AssociatedExtensionInfo("ext1")); 1666 new TemplateURL::AssociatedExtensionInfo("ext1"));
1674 extension_info->wants_to_be_default_engine = false; 1667 extension_info->wants_to_be_default_engine = false;
1675 model()->AddExtensionControlledTURL(std::move(ext_dse), 1668
1676 std::move(extension_info)); 1669 test_util()->AddExtensionControlledTURL(std::move(ext_dse),
1670 std::move(extension_info));
1677 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); 1671 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider());
1678 1672
1673 // Create default extension search engine.
1679 ext_dse = CreateKeywordWithDate( 1674 ext_dse = CreateKeywordWithDate(
1680 model(), "ext2", "ext2", "http://www.ext2.com/s?q={searchTerms}", 1675 model(), "ext2", "ext2", "http://www.ext2.com/s?q={searchTerms}",
1681 std::string(), std::string(), std::string(), true, kPrepopulatedId, 1676 std::string(), std::string(), std::string(), true, kPrepopulatedId,
1682 "UTF-8", Time(), Time(), Time(), 1677 "UTF-8", Time(), Time(), Time(),
1683 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); 1678 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
1684 extension_info.reset(new TemplateURL::AssociatedExtensionInfo("ext2")); 1679 extension_info.reset(new TemplateURL::AssociatedExtensionInfo("ext2"));
1685 extension_info->wants_to_be_default_engine = true; 1680 extension_info->wants_to_be_default_engine = true;
1686 TemplateURL* ext_dse_ptr = model()->AddExtensionControlledTURL( 1681
1682 auto cloned_ext_dse = base::MakeUnique<TemplateURL>(ext_dse->data());
1683 TemplateURL* ext_dse_ptr = test_util()->AddExtensionControlledTURL(
1687 std::move(ext_dse), std::move(extension_info)); 1684 std::move(ext_dse), std::move(extension_info));
1688 EXPECT_EQ(ext_dse_ptr, model()->GetDefaultSearchProvider()); 1685 EXPECT_EQ(ext_dse_ptr, model()->GetDefaultSearchProvider());
1689 1686
1690 test_util()->ResetModel(true); 1687 // A default search engine set by an extension must be persisted across
1691 user_dse = model()->GetTemplateURLForKeyword(ASCIIToUTF16("user")); 1688 // browser restarts, until the extension is unloaded/disabled.
1692 ExpectSimilar(user_dse, model()->GetDefaultSearchProvider()); 1689 test_util()->ResetModel(false);
1690 EXPECT_TRUE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext2")));
1691 ExpectSimilar(cloned_ext_dse.get(), model()->GetDefaultSearchProvider());
1692
1693 // Non-default extension engines are not persisted across restarts.
1693 EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1"))); 1694 EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1")));
1694 EXPECT_FALSE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext2"))); 1695 }
1696
1697 TEST_F(TemplateURLServiceTest, DefaultExtensionEnginePersistsBeforeLoad) {
1698 // Chrome will load the extension system before the TemplateURLService, so
1699 // extensions controlling the default search engine may be registered before
1700 // the service has loaded.
1701 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate(
1702 model(), "ext2", "ext2", "http://www.ext2.com/s?q={searchTerms}",
1703 std::string(), std::string(), std::string(), true, kPrepopulatedId,
1704 "UTF-8", Time(), Time(), Time(),
1705 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
1706 auto extension_info =
1707 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>("ext2");
1708 extension_info->wants_to_be_default_engine = true;
1709
1710 auto cloned_ext_dse = base::MakeUnique<TemplateURL>(ext_dse->data());
1711 test_util()->AddExtensionControlledTURL(std::move(ext_dse),
1712 std::move(extension_info));
1713
1714 // Default search engine from extension must be persisted between browser
1715 // restarts, and should be available before the TemplateURLService is loaded.
1716 EXPECT_TRUE(model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext2")));
1717 ExpectSimilar(cloned_ext_dse.get(), model()->GetDefaultSearchProvider());
1718
1719 // Check extension DSE is the same after service load.
1720 test_util()->VerifyLoad();
1721 ExpectSimilar(cloned_ext_dse.get(), model()->GetDefaultSearchProvider());
1695 } 1722 }
1696 1723
1697 // Checks that correct priority is applied when resolving conflicts between the 1724 // Checks that correct priority is applied when resolving conflicts between the
1698 // omnibox extension, search engine extension and user search engines with same 1725 // omnibox extension, search engine extension and user search engines with same
1699 // keyword. 1726 // keyword.
1700 TEST_F(TemplateURLServiceTest, CheckEnginesWithSameKeywords) { 1727 TEST_F(TemplateURLServiceTest, CheckEnginesWithSameKeywords) {
1701 test_util()->VerifyLoad(); 1728 test_util()->VerifyLoad();
1702 // TemplateURLData used for user engines. 1729 // TemplateURLData used for user engines.
1703 std::unique_ptr<TemplateURLData> turl_data = 1730 std::unique_ptr<TemplateURLData> turl_data =
1704 GenerateDummyTemplateURLData("common_keyword"); 1731 GenerateDummyTemplateURLData("common_keyword");
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1762 "extension_id", TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); 1789 "extension_id", TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
1763 EXPECT_NE(extension, model()->GetDefaultSearchProvider()); 1790 EXPECT_NE(extension, model()->GetDefaultSearchProvider());
1764 // Now latest user engine is returned for keyword. 1791 // Now latest user engine is returned for keyword.
1765 EXPECT_EQ(user2, 1792 EXPECT_EQ(user2,
1766 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); 1793 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword")));
1767 } 1794 }
1768 1795
1769 // Check that two extensions with the same engine are handled correctly. 1796 // Check that two extensions with the same engine are handled correctly.
1770 TEST_F(TemplateURLServiceTest, ExtensionsWithSameKeywords) { 1797 TEST_F(TemplateURLServiceTest, ExtensionsWithSameKeywords) {
1771 test_util()->VerifyLoad(); 1798 test_util()->VerifyLoad();
1772
1773 // Add non default extension engine. 1799 // Add non default extension engine.
1774 const TemplateURL* extension1 = AddExtensionSearchEngine( 1800 const TemplateURL* extension1 = AddExtensionSearchEngine(
1775 "common_keyword", "extension_id1", false, Time::FromDoubleT(1)); 1801 "common_keyword", "extension_id1", false, Time::FromDoubleT(1));
1776 1802
1777 // Check that GetTemplateURLForKeyword returns last installed extension. 1803 // Check that GetTemplateURLForKeyword returns last installed extension.
1778 EXPECT_EQ(extension1, 1804 EXPECT_EQ(extension1,
1779 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); 1805 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword")));
1780 1806
1781 // Add default extension engine with the same keyword. 1807 // Add default extension engine with the same keyword.
1782 const TemplateURL* extension2 = AddExtensionSearchEngine( 1808 const TemplateURL* extension2 = AddExtensionSearchEngine(
1783 "common_keyword", "extension_id2", true, Time::FromDoubleT(2)); 1809 "common_keyword", "extension_id2", true, Time::FromDoubleT(2));
1784
1785 // Check that GetTemplateURLForKeyword now returns extension2 because it was 1810 // Check that GetTemplateURLForKeyword now returns extension2 because it was
1786 // installed later. 1811 // installed later.
1787 EXPECT_EQ(extension2, 1812 EXPECT_EQ(extension2,
1788 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); 1813 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword")));
1789 1814
1790 // Add another non default extension with same keyword. This action must not 1815 // Add another non default extension with same keyword. This action must not
1791 // change any keyword due to conflict. 1816 // change any keyword due to conflict.
1792 const TemplateURL* extension3 = AddExtensionSearchEngine( 1817 const TemplateURL* extension3 = AddExtensionSearchEngine(
1793 "common_keyword", "extension_id3", false, Time::FromDoubleT(3)); 1818 "common_keyword", "extension_id3", false, Time::FromDoubleT(3));
1794
1795 // Check that extension2 is set as default. 1819 // Check that extension2 is set as default.
1796 EXPECT_EQ(extension2, model()->GetDefaultSearchProvider()); 1820 EXPECT_EQ(extension2, model()->GetDefaultSearchProvider());
1797 1821
1798 // Check that GetTemplateURLForKeyword returns last installed extension. 1822 // Check that GetTemplateURLForKeyword returns last installed extension.
1799 EXPECT_EQ(extension3, 1823 EXPECT_EQ(extension3,
1800 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword"))); 1824 model()->GetTemplateURLForKeyword(ASCIIToUTF16("common_keyword")));
1801 // Check that all keywords for extensions are left unchanged. 1825 // Check that all keywords for extensions are left unchanged.
1802 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension1->keyword()); 1826 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension1->keyword());
1803 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension2->keyword()); 1827 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension2->keyword());
1804 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension3->keyword()); 1828 EXPECT_EQ(ASCIIToUTF16("common_keyword"), extension3->keyword());
(...skipping 12 matching lines...) Expand all
1817 ExpectSimilar(expected_managed_default.get(), actual_managed_default); 1841 ExpectSimilar(expected_managed_default.get(), actual_managed_default);
1818 1842
1819 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate( 1843 std::unique_ptr<TemplateURL> ext_dse = CreateKeywordWithDate(
1820 model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}", 1844 model(), "ext1", "ext1", "http://www.ext1.com/s?q={searchTerms}",
1821 std::string(), std::string(), std::string(), true, kPrepopulatedId, 1845 std::string(), std::string(), std::string(), true, kPrepopulatedId,
1822 "UTF-8", Time(), Time(), Time(), 1846 "UTF-8", Time(), Time(), Time(),
1823 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION); 1847 TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION);
1824 auto extension_info = 1848 auto extension_info =
1825 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>("ext1"); 1849 base::MakeUnique<TemplateURL::AssociatedExtensionInfo>("ext1");
1826 extension_info->wants_to_be_default_engine = true; 1850 extension_info->wants_to_be_default_engine = true;
1827 TemplateURL* ext_dse_ptr = model()->AddExtensionControlledTURL( 1851 TemplateURL* ext_dse_ptr = test_util()->AddExtensionControlledTURL(
1828 std::move(ext_dse), std::move(extension_info)); 1852 std::move(ext_dse), std::move(extension_info));
1829 EXPECT_EQ(ext_dse_ptr, 1853 EXPECT_EQ(ext_dse_ptr,
1830 model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1"))); 1854 model()->GetTemplateURLForKeyword(ASCIIToUTF16("ext1")));
1831 EXPECT_TRUE(model()->is_default_search_managed()); 1855 EXPECT_TRUE(model()->is_default_search_managed());
1832 actual_managed_default = model()->GetDefaultSearchProvider(); 1856 actual_managed_default = model()->GetDefaultSearchProvider();
1833 ExpectSimilar(expected_managed_default.get(), actual_managed_default); 1857 ExpectSimilar(expected_managed_default.get(), actual_managed_default);
1834 } 1858 }
1835 1859
1836 TEST_F(TemplateURLServiceTest, LastVisitedTimeUpdate) { 1860 TEST_F(TemplateURLServiceTest, LastVisitedTimeUpdate) {
1837 test_util()->VerifyLoad(); 1861 test_util()->VerifyLoad();
(...skipping 27 matching lines...) Expand all
1865 TemplateURL* update_url = 1889 TemplateURL* update_url =
1866 model()->GetTemplateURLForKeyword(ASCIIToUTF16("engine_keyword")); 1890 model()->GetTemplateURLForKeyword(ASCIIToUTF16("engine_keyword"));
1867 const base::Time update_last_modified = update_url->last_modified(); 1891 const base::Time update_last_modified = update_url->last_modified();
1868 model()->SetUserSelectedDefaultSearchProvider(update_url); 1892 model()->SetUserSelectedDefaultSearchProvider(update_url);
1869 TemplateURL* reloaded_url = 1893 TemplateURL* reloaded_url =
1870 model()->GetTemplateURLForKeyword(ASCIIToUTF16("engine_keyword")); 1894 model()->GetTemplateURLForKeyword(ASCIIToUTF16("engine_keyword"));
1871 const base::Time reloaded_last_modified = reloaded_url->last_modified(); 1895 const base::Time reloaded_last_modified = reloaded_url->last_modified();
1872 EXPECT_NE(original_last_modified, reloaded_last_modified); 1896 EXPECT_NE(original_last_modified, reloaded_last_modified);
1873 EXPECT_EQ(update_last_modified, reloaded_last_modified); 1897 EXPECT_EQ(update_last_modified, reloaded_last_modified);
1874 } 1898 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698