| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 std::unique_ptr<TemplateURL> deserialized(Deserialize(*iter)); | 411 std::unique_ptr<TemplateURL> deserialized(Deserialize(*iter)); |
| 412 AssertEquals(*service_turl, *deserialized); | 412 AssertEquals(*service_turl, *deserialized); |
| 413 } | 413 } |
| 414 } | 414 } |
| 415 | 415 |
| 416 TEST_F(TemplateURLServiceSyncTest, GetAllSyncDataWithExtension) { | 416 TEST_F(TemplateURLServiceSyncTest, GetAllSyncDataWithExtension) { |
| 417 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("key1"), "http://key1.com")); | 417 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("key1"), "http://key1.com")); |
| 418 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("key2"), "http://key2.com")); | 418 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("key2"), "http://key2.com")); |
| 419 std::string fake_id("blahblahblah"); | 419 std::string fake_id("blahblahblah"); |
| 420 std::string fake_url = std::string(kOmniboxScheme) + "://" + fake_id; | 420 std::string fake_url = std::string(kOmniboxScheme) + "://" + fake_id; |
| 421 model()->RegisterOmniboxKeyword(fake_id, "unittest", "key3", fake_url); | 421 model()->RegisterOmniboxKeyword(fake_id, "unittest", "key3", fake_url, |
| 422 base::Time::Now()); |
| 422 syncer::SyncDataList all_sync_data = | 423 syncer::SyncDataList all_sync_data = |
| 423 model()->GetAllSyncData(syncer::SEARCH_ENGINES); | 424 model()->GetAllSyncData(syncer::SEARCH_ENGINES); |
| 424 | 425 |
| 425 EXPECT_EQ(2U, all_sync_data.size()); | 426 EXPECT_EQ(2U, all_sync_data.size()); |
| 426 | 427 |
| 427 for (syncer::SyncDataList::const_iterator iter = all_sync_data.begin(); | 428 for (syncer::SyncDataList::const_iterator iter = all_sync_data.begin(); |
| 428 iter != all_sync_data.end(); ++iter) { | 429 iter != all_sync_data.end(); ++iter) { |
| 429 std::string guid = GetGUID(*iter); | 430 std::string guid = GetGUID(*iter); |
| 430 const TemplateURL* service_turl = model()->GetTemplateURLForGUID(guid); | 431 const TemplateURL* service_turl = model()->GetTemplateURLForGUID(guid); |
| 431 std::unique_ptr<TemplateURL> deserialized(Deserialize(*iter)); | 432 std::unique_ptr<TemplateURL> deserialized(Deserialize(*iter)); |
| (...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1069 EXPECT_EQ(syncer::SyncChange::ACTION_DELETE, change.change_type()); | 1070 EXPECT_EQ(syncer::SyncChange::ACTION_DELETE, change.change_type()); |
| 1070 } | 1071 } |
| 1071 | 1072 |
| 1072 TEST_F(TemplateURLServiceSyncTest, ProcessChangesWithLocalExtensions) { | 1073 TEST_F(TemplateURLServiceSyncTest, ProcessChangesWithLocalExtensions) { |
| 1073 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, | 1074 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, |
| 1074 CreateInitialSyncData(), PassProcessor(), | 1075 CreateInitialSyncData(), PassProcessor(), |
| 1075 CreateAndPassSyncErrorFactory()); | 1076 CreateAndPassSyncErrorFactory()); |
| 1076 | 1077 |
| 1077 // Add some extension keywords locally. | 1078 // Add some extension keywords locally. |
| 1078 model()->RegisterOmniboxKeyword("extension1", "unittest", "keyword1", | 1079 model()->RegisterOmniboxKeyword("extension1", "unittest", "keyword1", |
| 1079 "http://extension1"); | 1080 "http://extension1", base::Time::Now()); |
| 1080 TemplateURL* extension1 = | 1081 TemplateURL* extension1 = |
| 1081 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword1")); | 1082 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword1")); |
| 1082 ASSERT_TRUE(extension1); | 1083 ASSERT_TRUE(extension1); |
| 1083 EXPECT_EQ(0U, processor()->change_list_size()); | 1084 EXPECT_EQ(0U, processor()->change_list_size()); |
| 1084 | 1085 |
| 1085 model()->RegisterOmniboxKeyword("extension2", "unittest", "keyword2", | 1086 model()->RegisterOmniboxKeyword("extension2", "unittest", "keyword2", |
| 1086 "http://extension2"); | 1087 "http://extension2", base::Time::Now()); |
| 1087 TemplateURL* extension2 = | 1088 TemplateURL* extension2 = |
| 1088 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword2")); | 1089 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword2")); |
| 1089 ASSERT_TRUE(extension2); | 1090 ASSERT_TRUE(extension2); |
| 1090 EXPECT_EQ(0U, processor()->change_list_size()); | 1091 EXPECT_EQ(0U, processor()->change_list_size()); |
| 1091 | 1092 |
| 1092 // Create some sync changes that will conflict with the extension keywords. | 1093 // Create some sync changes that will conflict with the extension keywords. |
| 1093 syncer::SyncChangeList changes; | 1094 syncer::SyncChangeList changes; |
| 1094 changes.push_back(CreateTestSyncChange( | 1095 changes.push_back(CreateTestSyncChange( |
| 1095 syncer::SyncChange::ACTION_ADD, | 1096 syncer::SyncChange::ACTION_ADD, |
| 1096 CreateTestTemplateURL(ASCIIToUTF16("keyword1"), "http://aaa.com", | 1097 CreateTestTemplateURL(ASCIIToUTF16("keyword1"), "http://aaa.com", |
| 1097 std::string(), 100, true, false, 0))); | 1098 std::string(), 100, true, false, 0))); |
| 1098 changes.push_back(CreateTestSyncChange(syncer::SyncChange::ACTION_ADD, | 1099 changes.push_back(CreateTestSyncChange(syncer::SyncChange::ACTION_ADD, |
| 1099 CreateTestTemplateURL(ASCIIToUTF16("keyword2"), "http://bbb.com"))); | 1100 CreateTestTemplateURL(ASCIIToUTF16("keyword2"), "http://bbb.com"))); |
| 1100 model()->ProcessSyncChanges(FROM_HERE, changes); | 1101 model()->ProcessSyncChanges(FROM_HERE, changes); |
| 1101 | 1102 |
| 1102 EXPECT_FALSE(model()->GetTemplateURLForHost("aaa.com") == NULL); | 1103 EXPECT_TRUE(model()->GetTemplateURLForHost("aaa.com")); |
| 1104 EXPECT_TRUE(model()->GetTemplateURLForHost("bbb.com")); |
| 1103 EXPECT_EQ(extension1, | 1105 EXPECT_EQ(extension1, |
| 1104 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword1"))); | 1106 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword1"))); |
| 1105 TemplateURL* url_for_keyword2 = | 1107 EXPECT_EQ(extension2, |
| 1106 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword2")); | |
| 1107 EXPECT_NE(extension2, url_for_keyword2); | |
| 1108 EXPECT_EQ("http://bbb.com", url_for_keyword2->url()); | |
| 1109 | |
| 1110 EXPECT_EQ(extension1, | |
| 1111 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword1"))); | |
| 1112 EXPECT_EQ(model()->GetTemplateURLForHost("bbb.com"), | |
| 1113 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword2"))); | 1108 model()->GetTemplateURLForKeyword(ASCIIToUTF16("keyword2"))); |
| 1114 } | 1109 } |
| 1115 | 1110 |
| 1116 TEST_F(TemplateURLServiceSyncTest, AutogeneratedKeywordMigrated) { | 1111 TEST_F(TemplateURLServiceSyncTest, AutogeneratedKeywordMigrated) { |
| 1117 // Create a couple of sync entries with autogenerated keywords. | 1112 // Create a couple of sync entries with autogenerated keywords. |
| 1118 syncer::SyncDataList initial_data; | 1113 syncer::SyncDataList initial_data; |
| 1119 std::unique_ptr<TemplateURL> turl = | 1114 std::unique_ptr<TemplateURL> turl = |
| 1120 CreateTestTemplateURL(ASCIIToUTF16("key1"), "http://key1.com", "key1"); | 1115 CreateTestTemplateURL(ASCIIToUTF16("key1"), "http://key1.com", "key1"); |
| 1121 initial_data.push_back( | 1116 initial_data.push_back( |
| 1122 CreateCustomSyncData(*turl, true, turl->url(), turl->sync_guid())); | 1117 CreateCustomSyncData(*turl, true, turl->url(), turl->sync_guid())); |
| (...skipping 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2314 | 2309 |
| 2315 TEST_F(TemplateURLServiceSyncTest, NonAsciiKeywordDoesNotCrash) { | 2310 TEST_F(TemplateURLServiceSyncTest, NonAsciiKeywordDoesNotCrash) { |
| 2316 model()->Add(CreateTestTemplateURL(UTF8ToUTF16("\xf0\xaf\xa6\x8d"), | 2311 model()->Add(CreateTestTemplateURL(UTF8ToUTF16("\xf0\xaf\xa6\x8d"), |
| 2317 "http://key1.com")); | 2312 "http://key1.com")); |
| 2318 syncer::SyncDataList initial_data = CreateInitialSyncData(); | 2313 syncer::SyncDataList initial_data = CreateInitialSyncData(); |
| 2319 | 2314 |
| 2320 model()->MergeDataAndStartSyncing( | 2315 model()->MergeDataAndStartSyncing( |
| 2321 syncer::SEARCH_ENGINES, initial_data, PassProcessor(), | 2316 syncer::SEARCH_ENGINES, initial_data, PassProcessor(), |
| 2322 CreateAndPassSyncErrorFactory()); | 2317 CreateAndPassSyncErrorFactory()); |
| 2323 } | 2318 } |
| OLD | NEW |