| OLD | NEW |
| 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/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
| 6 #include "base/memory/scoped_vector.h" | 6 #include "base/memory/scoped_vector.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 484 // Tie. Sync wins. | 484 // Tie. Sync wins. |
| 485 {100, 100, false, false, false}, | 485 {100, 100, false, false, false}, |
| 486 }; | 486 }; |
| 487 | 487 |
| 488 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { | 488 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { |
| 489 TemplateURL* local_turl = CreateTestTemplateURL( | 489 TemplateURL* local_turl = CreateTestTemplateURL( |
| 490 ASCIIToUTF16("localkey"), "www.local.com", "localguid", | 490 ASCIIToUTF16("localkey"), "www.local.com", "localguid", |
| 491 test_cases[i].local_time, true, test_cases[i].local_created_by_policy); | 491 test_cases[i].local_time, true, test_cases[i].local_created_by_policy); |
| 492 model()->Add(local_turl); | 492 model()->Add(local_turl); |
| 493 if (test_cases[i].local_is_default) | 493 if (test_cases[i].local_is_default) |
| 494 model()->SetDefaultSearchProvider(local_turl); | 494 model()->SetUserSelectedDefaultSearchProvider(local_turl); |
| 495 | 495 |
| 496 scoped_ptr<TemplateURL> sync_turl(CreateTestTemplateURL( | 496 scoped_ptr<TemplateURL> sync_turl(CreateTestTemplateURL( |
| 497 ASCIIToUTF16("synckey"), "www.sync.com", "syncguid", | 497 ASCIIToUTF16("synckey"), "www.sync.com", "syncguid", |
| 498 test_cases[i].sync_time)); | 498 test_cases[i].sync_time)); |
| 499 EXPECT_EQ(test_cases[i].expected_result, | 499 EXPECT_EQ(test_cases[i].expected_result, |
| 500 model()->IsLocalTemplateURLBetter(local_turl, sync_turl.get())); | 500 model()->IsLocalTemplateURLBetter(local_turl, sync_turl.get())); |
| 501 | 501 |
| 502 // Undo the changes. | 502 // Undo the changes. |
| 503 if (test_cases[i].local_is_default) | 503 if (test_cases[i].local_is_default) |
| 504 model()->SetDefaultSearchProvider(NULL); | 504 model()->SetUserSelectedDefaultSearchProvider(NULL); |
| 505 model()->Remove(local_turl); | 505 model()->Remove(local_turl); |
| 506 } | 506 } |
| 507 } | 507 } |
| 508 | 508 |
| 509 TEST_F(TemplateURLServiceSyncTest, ResolveSyncKeywordConflict) { | 509 TEST_F(TemplateURLServiceSyncTest, ResolveSyncKeywordConflict) { |
| 510 // This tests cases where neither the sync nor the local TemplateURL are | 510 // This tests cases where neither the sync nor the local TemplateURL are |
| 511 // marked safe_for_autoreplace. | 511 // marked safe_for_autoreplace. |
| 512 | 512 |
| 513 // Create a keyword that conflicts, and make it older. Sync keyword is | 513 // Create a keyword that conflicts, and make it older. Sync keyword is |
| 514 // uniquified, and a syncer::SyncChange is added. | 514 // uniquified, and a syncer::SyncChange is added. |
| (...skipping 930 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1445 } | 1445 } |
| 1446 | 1446 |
| 1447 TEST_F(TemplateURLServiceSyncTest, SyncedDefaultGUIDArrivesFirst) { | 1447 TEST_F(TemplateURLServiceSyncTest, SyncedDefaultGUIDArrivesFirst) { |
| 1448 syncer::SyncDataList initial_data = CreateInitialSyncData(); | 1448 syncer::SyncDataList initial_data = CreateInitialSyncData(); |
| 1449 // The default search provider should support replacement. | 1449 // The default search provider should support replacement. |
| 1450 scoped_ptr<TemplateURL> turl(CreateTestTemplateURL(ASCIIToUTF16("key2"), | 1450 scoped_ptr<TemplateURL> turl(CreateTestTemplateURL(ASCIIToUTF16("key2"), |
| 1451 "http://key2.com/{searchTerms}", "key2", 90)); | 1451 "http://key2.com/{searchTerms}", "key2", 90)); |
| 1452 initial_data[1] = TemplateURLService::CreateSyncDataFromTemplateURL(*turl); | 1452 initial_data[1] = TemplateURLService::CreateSyncDataFromTemplateURL(*turl); |
| 1453 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, | 1453 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, |
| 1454 PassProcessor(), CreateAndPassSyncErrorFactory()); | 1454 PassProcessor(), CreateAndPassSyncErrorFactory()); |
| 1455 model()->SetDefaultSearchProvider(model()->GetTemplateURLForGUID("key2")); | 1455 model()->SetUserSelectedDefaultSearchProvider( |
| 1456 model()->GetTemplateURLForGUID("key2")); |
| 1456 | 1457 |
| 1457 EXPECT_EQ(3U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); | 1458 EXPECT_EQ(3U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); |
| 1458 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); | 1459 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
| 1459 ASSERT_TRUE(default_search); | 1460 ASSERT_TRUE(default_search); |
| 1460 | 1461 |
| 1461 // Change kSyncedDefaultSearchProviderGUID to a GUID that does not exist in | 1462 // Change kSyncedDefaultSearchProviderGUID to a GUID that does not exist in |
| 1462 // the model yet. Ensure that the default has not changed in any way. | 1463 // the model yet. Ensure that the default has not changed in any way. |
| 1463 profile_a()->GetTestingPrefService()->SetString( | 1464 profile_a()->GetTestingPrefService()->SetString( |
| 1464 prefs::kSyncedDefaultSearchProviderGUID, "newdefault"); | 1465 prefs::kSyncedDefaultSearchProviderGUID, "newdefault"); |
| 1465 | 1466 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1508 data.prepopulate_id = 999999; | 1509 data.prepopulate_id = 999999; |
| 1509 data.sync_guid = "key2"; | 1510 data.sync_guid = "key2"; |
| 1510 data.show_in_default_list = true; | 1511 data.show_in_default_list = true; |
| 1511 scoped_ptr<TemplateURL> turl2(new TemplateURL(NULL, data)); | 1512 scoped_ptr<TemplateURL> turl2(new TemplateURL(NULL, data)); |
| 1512 initial_data.push_back(TemplateURLService::CreateSyncDataFromTemplateURL( | 1513 initial_data.push_back(TemplateURLService::CreateSyncDataFromTemplateURL( |
| 1513 *turl1)); | 1514 *turl1)); |
| 1514 initial_data.push_back(TemplateURLService::CreateSyncDataFromTemplateURL( | 1515 initial_data.push_back(TemplateURLService::CreateSyncDataFromTemplateURL( |
| 1515 *turl2)); | 1516 *turl2)); |
| 1516 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, | 1517 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, |
| 1517 PassProcessor(), CreateAndPassSyncErrorFactory()); | 1518 PassProcessor(), CreateAndPassSyncErrorFactory()); |
| 1518 model()->SetDefaultSearchProvider(model()->GetTemplateURLForGUID("key1")); | 1519 model()->SetUserSelectedDefaultSearchProvider( |
| 1520 model()->GetTemplateURLForGUID("key1")); |
| 1519 ASSERT_EQ("key1", model()->GetDefaultSearchProvider()->sync_guid()); | 1521 ASSERT_EQ("key1", model()->GetDefaultSearchProvider()->sync_guid()); |
| 1520 | 1522 |
| 1521 EXPECT_EQ(2U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); | 1523 EXPECT_EQ(2U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); |
| 1522 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); | 1524 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
| 1523 ASSERT_TRUE(default_search); | 1525 ASSERT_TRUE(default_search); |
| 1524 | 1526 |
| 1525 // Change kSyncedDefaultSearchProviderGUID to a GUID that does not exist in | 1527 // Change kSyncedDefaultSearchProviderGUID to a GUID that does not exist in |
| 1526 // the model yet. Ensure that the default has not changed in any way. | 1528 // the model yet. Ensure that the default has not changed in any way. |
| 1527 profile_a()->GetTestingPrefService()->SetString( | 1529 profile_a()->GetTestingPrefService()->SetString( |
| 1528 prefs::kSyncedDefaultSearchProviderGUID, "newdefault"); | 1530 prefs::kSyncedDefaultSearchProviderGUID, "newdefault"); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1565 EXPECT_EQ("newdefault", profile_a()->GetTestingPrefService()->GetString( | 1567 EXPECT_EQ("newdefault", profile_a()->GetTestingPrefService()->GetString( |
| 1566 prefs::kSyncedDefaultSearchProviderGUID)); | 1568 prefs::kSyncedDefaultSearchProviderGUID)); |
| 1567 } | 1569 } |
| 1568 | 1570 |
| 1569 TEST_F(TemplateURLServiceSyncTest, SyncedDefaultArrivesAfterStartup) { | 1571 TEST_F(TemplateURLServiceSyncTest, SyncedDefaultArrivesAfterStartup) { |
| 1570 // Start with the default set to something in the model before we start | 1572 // Start with the default set to something in the model before we start |
| 1571 // syncing. | 1573 // syncing. |
| 1572 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("what"), | 1574 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("what"), |
| 1573 "http://thewhat.com/{searchTerms}", | 1575 "http://thewhat.com/{searchTerms}", |
| 1574 "initdefault")); | 1576 "initdefault")); |
| 1575 model()->SetDefaultSearchProvider( | 1577 model()->SetUserSelectedDefaultSearchProvider( |
| 1576 model()->GetTemplateURLForGUID("initdefault")); | 1578 model()->GetTemplateURLForGUID("initdefault")); |
| 1577 | 1579 |
| 1578 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); | 1580 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
| 1579 ASSERT_TRUE(default_search); | 1581 ASSERT_TRUE(default_search); |
| 1580 | 1582 |
| 1581 // Set kSyncedDefaultSearchProviderGUID to something that is not yet in | 1583 // Set kSyncedDefaultSearchProviderGUID to something that is not yet in |
| 1582 // the model but is expected in the initial sync. Ensure that this doesn't | 1584 // the model but is expected in the initial sync. Ensure that this doesn't |
| 1583 // change our default since we're not quite syncing yet. | 1585 // change our default since we're not quite syncing yet. |
| 1584 profile_a()->GetTestingPrefService()->SetString( | 1586 profile_a()->GetTestingPrefService()->SetString( |
| 1585 prefs::kSyncedDefaultSearchProviderGUID, "key2"); | 1587 prefs::kSyncedDefaultSearchProviderGUID, "key2"); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1603 ASSERT_EQ("key2", model()->GetDefaultSearchProvider()->sync_guid()); | 1605 ASSERT_EQ("key2", model()->GetDefaultSearchProvider()->sync_guid()); |
| 1604 } | 1606 } |
| 1605 | 1607 |
| 1606 TEST_F(TemplateURLServiceSyncTest, SyncedDefaultAlreadySetOnStartup) { | 1608 TEST_F(TemplateURLServiceSyncTest, SyncedDefaultAlreadySetOnStartup) { |
| 1607 // Start with the default set to something in the model before we start | 1609 // Start with the default set to something in the model before we start |
| 1608 // syncing. | 1610 // syncing. |
| 1609 const char kGUID[] = "initdefault"; | 1611 const char kGUID[] = "initdefault"; |
| 1610 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("what"), | 1612 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("what"), |
| 1611 "http://thewhat.com/{searchTerms}", | 1613 "http://thewhat.com/{searchTerms}", |
| 1612 kGUID)); | 1614 kGUID)); |
| 1613 model()->SetDefaultSearchProvider(model()->GetTemplateURLForGUID(kGUID)); | 1615 model()->SetUserSelectedDefaultSearchProvider( |
| 1616 model()->GetTemplateURLForGUID(kGUID)); |
| 1614 | 1617 |
| 1615 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); | 1618 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
| 1616 ASSERT_TRUE(default_search); | 1619 ASSERT_TRUE(default_search); |
| 1617 | 1620 |
| 1618 // Set kSyncedDefaultSearchProviderGUID to the current default. | 1621 // Set kSyncedDefaultSearchProviderGUID to the current default. |
| 1619 profile_a()->GetTestingPrefService()->SetString( | 1622 profile_a()->GetTestingPrefService()->SetString( |
| 1620 prefs::kSyncedDefaultSearchProviderGUID, kGUID); | 1623 prefs::kSyncedDefaultSearchProviderGUID, kGUID); |
| 1621 | 1624 |
| 1622 EXPECT_EQ(default_search, model()->GetDefaultSearchProvider()); | 1625 EXPECT_EQ(default_search, model()->GetDefaultSearchProvider()); |
| 1623 | 1626 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1645 scoped_ptr<TemplateURL> turl(CreateTestTemplateURL(ASCIIToUTF16("key2"), | 1648 scoped_ptr<TemplateURL> turl(CreateTestTemplateURL(ASCIIToUTF16("key2"), |
| 1646 "http://key2.com/{searchTerms}", "key2", 90)); | 1649 "http://key2.com/{searchTerms}", "key2", 90)); |
| 1647 initial_data[1] = TemplateURLService::CreateSyncDataFromTemplateURL(*turl); | 1650 initial_data[1] = TemplateURLService::CreateSyncDataFromTemplateURL(*turl); |
| 1648 for (syncer::SyncDataList::const_iterator iter = initial_data.begin(); | 1651 for (syncer::SyncDataList::const_iterator iter = initial_data.begin(); |
| 1649 iter != initial_data.end(); ++iter) { | 1652 iter != initial_data.end(); ++iter) { |
| 1650 TemplateURL* converted = Deserialize(*iter); | 1653 TemplateURL* converted = Deserialize(*iter); |
| 1651 model()->Add(converted); | 1654 model()->Add(converted); |
| 1652 } | 1655 } |
| 1653 | 1656 |
| 1654 // Set the initial default to something other than the desired default. | 1657 // Set the initial default to something other than the desired default. |
| 1655 model()->SetDefaultSearchProvider(model()->GetTemplateURLForGUID("key1")); | 1658 model()->SetUserSelectedDefaultSearchProvider( |
| 1659 model()->GetTemplateURLForGUID("key1")); |
| 1656 | 1660 |
| 1657 // Merge in the same data (i.e. already synced entries). | 1661 // Merge in the same data (i.e. already synced entries). |
| 1658 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, | 1662 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, |
| 1659 PassProcessor(), CreateAndPassSyncErrorFactory()); | 1663 PassProcessor(), CreateAndPassSyncErrorFactory()); |
| 1660 | 1664 |
| 1661 EXPECT_EQ(3U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); | 1665 EXPECT_EQ(3U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); |
| 1662 TemplateURL* current_default = model()->GetDefaultSearchProvider(); | 1666 TemplateURL* current_default = model()->GetDefaultSearchProvider(); |
| 1663 ASSERT_TRUE(current_default); | 1667 ASSERT_TRUE(current_default); |
| 1664 EXPECT_EQ("key2", current_default->sync_guid()); | 1668 EXPECT_EQ("key2", current_default->sync_guid()); |
| 1665 EXPECT_EQ(ASCIIToUTF16("key2"), current_default->keyword()); | 1669 EXPECT_EQ(ASCIIToUTF16("key2"), current_default->keyword()); |
| 1666 } | 1670 } |
| 1667 | 1671 |
| 1668 TEST_F(TemplateURLServiceSyncTest, SyncWithManagedDefaultSearch) { | 1672 TEST_F(TemplateURLServiceSyncTest, SyncWithManagedDefaultSearch) { |
| 1669 // First start off with a few entries and make sure we can set an unmanaged | 1673 // First start off with a few entries and make sure we can set an unmanaged |
| 1670 // default search provider. | 1674 // default search provider. |
| 1671 syncer::SyncDataList initial_data = CreateInitialSyncData(); | 1675 syncer::SyncDataList initial_data = CreateInitialSyncData(); |
| 1672 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, | 1676 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, |
| 1673 PassProcessor(), CreateAndPassSyncErrorFactory()); | 1677 PassProcessor(), CreateAndPassSyncErrorFactory()); |
| 1674 model()->SetDefaultSearchProvider(model()->GetTemplateURLForGUID("key2")); | 1678 model()->SetUserSelectedDefaultSearchProvider( |
| 1679 model()->GetTemplateURLForGUID("key2")); |
| 1675 | 1680 |
| 1676 EXPECT_EQ(3U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); | 1681 EXPECT_EQ(3U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); |
| 1677 ASSERT_FALSE(model()->is_default_search_managed()); | 1682 ASSERT_FALSE(model()->is_default_search_managed()); |
| 1678 ASSERT_TRUE(model()->GetDefaultSearchProvider()); | 1683 ASSERT_TRUE(model()->GetDefaultSearchProvider()); |
| 1679 | 1684 |
| 1680 // Change the default search provider to a managed one. | 1685 // Change the default search provider to a managed one. |
| 1681 const char kName[] = "manageddefault"; | 1686 const char kName[] = "manageddefault"; |
| 1682 const char kSearchURL[] = "http://manageddefault.com/search?t={searchTerms}"; | 1687 const char kSearchURL[] = "http://manageddefault.com/search?t={searchTerms}"; |
| 1683 const char kIconURL[] = "http://manageddefault.com/icon.jpg"; | 1688 const char kIconURL[] = "http://manageddefault.com/icon.jpg"; |
| 1684 const char kEncodings[] = "UTF-16;UTF-32"; | 1689 const char kEncodings[] = "UTF-16;UTF-32"; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1720 | 1725 |
| 1721 EXPECT_EQ(expected_default, model()->GetDefaultSearchProvider()); | 1726 EXPECT_EQ(expected_default, model()->GetDefaultSearchProvider()); |
| 1722 } | 1727 } |
| 1723 | 1728 |
| 1724 TEST_F(TemplateURLServiceSyncTest, SyncMergeDeletesDefault) { | 1729 TEST_F(TemplateURLServiceSyncTest, SyncMergeDeletesDefault) { |
| 1725 // If the value from Sync is a duplicate of the local default and is newer, it | 1730 // If the value from Sync is a duplicate of the local default and is newer, it |
| 1726 // should safely replace the local value and set as the new default. | 1731 // should safely replace the local value and set as the new default. |
| 1727 TemplateURL* default_turl = CreateTestTemplateURL(ASCIIToUTF16("key1"), | 1732 TemplateURL* default_turl = CreateTestTemplateURL(ASCIIToUTF16("key1"), |
| 1728 "http://key1.com/{searchTerms}", "whateverguid", 10); | 1733 "http://key1.com/{searchTerms}", "whateverguid", 10); |
| 1729 model()->Add(default_turl); | 1734 model()->Add(default_turl); |
| 1730 model()->SetDefaultSearchProvider(default_turl); | 1735 model()->SetUserSelectedDefaultSearchProvider(default_turl); |
| 1731 | 1736 |
| 1732 syncer::SyncDataList initial_data = CreateInitialSyncData(); | 1737 syncer::SyncDataList initial_data = CreateInitialSyncData(); |
| 1733 // The key1 entry should be a duplicate of the default. | 1738 // The key1 entry should be a duplicate of the default. |
| 1734 scoped_ptr<TemplateURL> turl(CreateTestTemplateURL(ASCIIToUTF16("key1"), | 1739 scoped_ptr<TemplateURL> turl(CreateTestTemplateURL(ASCIIToUTF16("key1"), |
| 1735 "http://key1.com/{searchTerms}", "key1", 90)); | 1740 "http://key1.com/{searchTerms}", "key1", 90)); |
| 1736 initial_data[0] = TemplateURLService::CreateSyncDataFromTemplateURL(*turl); | 1741 initial_data[0] = TemplateURLService::CreateSyncDataFromTemplateURL(*turl); |
| 1737 | 1742 |
| 1738 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, | 1743 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, |
| 1739 PassProcessor(), CreateAndPassSyncErrorFactory()); | 1744 PassProcessor(), CreateAndPassSyncErrorFactory()); |
| 1740 | 1745 |
| 1741 EXPECT_EQ(3U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); | 1746 EXPECT_EQ(3U, model()->GetAllSyncData(syncer::SEARCH_ENGINES).size()); |
| 1742 EXPECT_FALSE(model()->GetTemplateURLForGUID("whateverguid")); | 1747 EXPECT_FALSE(model()->GetTemplateURLForGUID("whateverguid")); |
| 1743 EXPECT_EQ(model()->GetDefaultSearchProvider(), | 1748 EXPECT_EQ(model()->GetDefaultSearchProvider(), |
| 1744 model()->GetTemplateURLForGUID("key1")); | 1749 model()->GetTemplateURLForGUID("key1")); |
| 1745 } | 1750 } |
| 1746 | 1751 |
| 1747 TEST_F(TemplateURLServiceSyncTest, LocalDefaultWinsConflict) { | 1752 TEST_F(TemplateURLServiceSyncTest, LocalDefaultWinsConflict) { |
| 1748 // We expect that the local default always wins keyword conflict resolution. | 1753 // We expect that the local default always wins keyword conflict resolution. |
| 1749 const base::string16 keyword(ASCIIToUTF16("key1")); | 1754 const base::string16 keyword(ASCIIToUTF16("key1")); |
| 1750 const std::string url("http://whatever.com/{searchTerms}"); | 1755 const std::string url("http://whatever.com/{searchTerms}"); |
| 1751 TemplateURL* default_turl = CreateTestTemplateURL(keyword, | 1756 TemplateURL* default_turl = CreateTestTemplateURL(keyword, |
| 1752 url, | 1757 url, |
| 1753 "whateverguid", | 1758 "whateverguid", |
| 1754 10); | 1759 10); |
| 1755 model()->Add(default_turl); | 1760 model()->Add(default_turl); |
| 1756 model()->SetDefaultSearchProvider(default_turl); | 1761 model()->SetUserSelectedDefaultSearchProvider(default_turl); |
| 1757 | 1762 |
| 1758 syncer::SyncDataList initial_data = CreateInitialSyncData(); | 1763 syncer::SyncDataList initial_data = CreateInitialSyncData(); |
| 1759 // The key1 entry should be different from the default but conflict in the | 1764 // The key1 entry should be different from the default but conflict in the |
| 1760 // keyword. | 1765 // keyword. |
| 1761 scoped_ptr<TemplateURL> turl(CreateTestTemplateURL(keyword, | 1766 scoped_ptr<TemplateURL> turl(CreateTestTemplateURL(keyword, |
| 1762 "http://key1.com/{searchTerms}", "key1", 90)); | 1767 "http://key1.com/{searchTerms}", "key1", 90)); |
| 1763 initial_data[0] = TemplateURLService::CreateSyncDataFromTemplateURL(*turl); | 1768 initial_data[0] = TemplateURLService::CreateSyncDataFromTemplateURL(*turl); |
| 1764 | 1769 |
| 1765 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, | 1770 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, |
| 1766 PassProcessor(), CreateAndPassSyncErrorFactory()); | 1771 PassProcessor(), CreateAndPassSyncErrorFactory()); |
| (...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2238 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2243 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
| 2239 syncer::SEARCH_ENGINES, list, PassProcessor(), | 2244 syncer::SEARCH_ENGINES, list, PassProcessor(), |
| 2240 CreateAndPassSyncErrorFactory()); | 2245 CreateAndPassSyncErrorFactory()); |
| 2241 | 2246 |
| 2242 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); | 2247 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); |
| 2243 EXPECT_TRUE(result_turl); | 2248 EXPECT_TRUE(result_turl); |
| 2244 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); | 2249 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); |
| 2245 EXPECT_EQ(default_turl->short_name(), result_turl->short_name()); | 2250 EXPECT_EQ(default_turl->short_name(), result_turl->short_name()); |
| 2246 EXPECT_EQ(default_turl->url(), result_turl->url()); | 2251 EXPECT_EQ(default_turl->url(), result_turl->url()); |
| 2247 } | 2252 } |
| OLD | NEW |