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 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 } | 283 } |
284 | 284 |
285 TemplateURL* TemplateURLServiceSyncTest::CreateTestTemplateURL( | 285 TemplateURL* TemplateURLServiceSyncTest::CreateTestTemplateURL( |
286 const base::string16& keyword, | 286 const base::string16& keyword, |
287 const std::string& url, | 287 const std::string& url, |
288 const std::string& guid, | 288 const std::string& guid, |
289 time_t last_mod, | 289 time_t last_mod, |
290 bool safe_for_autoreplace, | 290 bool safe_for_autoreplace, |
291 bool created_by_policy) const { | 291 bool created_by_policy) const { |
292 TemplateURLData data; | 292 TemplateURLData data; |
293 data.short_name = ASCIIToUTF16("unittest"); | 293 data.SetShortName(ASCIIToUTF16("unittest")); |
294 data.SetKeyword(keyword); | 294 data.SetKeyword(keyword); |
295 data.SetURL(url); | 295 data.SetURL(url); |
296 data.favicon_url = GURL("http://favicon.url"); | 296 data.favicon_url = GURL("http://favicon.url"); |
297 data.safe_for_autoreplace = safe_for_autoreplace; | 297 data.safe_for_autoreplace = safe_for_autoreplace; |
298 data.date_created = Time::FromTimeT(100); | 298 data.date_created = Time::FromTimeT(100); |
299 data.last_modified = Time::FromTimeT(last_mod); | 299 data.last_modified = Time::FromTimeT(last_mod); |
300 data.created_by_policy = created_by_policy; | 300 data.created_by_policy = created_by_policy; |
301 data.prepopulate_id = 999999; | 301 data.prepopulate_id = 999999; |
302 if (!guid.empty()) | 302 if (!guid.empty()) |
303 data.sync_guid = guid; | 303 data.sync_guid = guid; |
(...skipping 956 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1260 EXPECT_EQ(syncer::SyncChange::ACTION_UPDATE, key2_change.change_type()); | 1260 EXPECT_EQ(syncer::SyncChange::ACTION_UPDATE, key2_change.change_type()); |
1261 EXPECT_EQ(keyword2->keyword(), | 1261 EXPECT_EQ(keyword2->keyword(), |
1262 base::UTF8ToUTF16(GetKeyword(key2_change.sync_data()))); | 1262 base::UTF8ToUTF16(GetKeyword(key2_change.sync_data()))); |
1263 } | 1263 } |
1264 | 1264 |
1265 TEST_F(TemplateURLServiceSyncTest, DuplicateEncodingsRemoved) { | 1265 TEST_F(TemplateURLServiceSyncTest, DuplicateEncodingsRemoved) { |
1266 // Create a sync entry with duplicate encodings. | 1266 // Create a sync entry with duplicate encodings. |
1267 syncer::SyncDataList initial_data; | 1267 syncer::SyncDataList initial_data; |
1268 | 1268 |
1269 TemplateURLData data; | 1269 TemplateURLData data; |
1270 data.short_name = ASCIIToUTF16("test"); | 1270 data.SetShortName(ASCIIToUTF16("test")); |
1271 data.SetKeyword(ASCIIToUTF16("keyword")); | 1271 data.SetKeyword(ASCIIToUTF16("keyword")); |
1272 data.SetURL("http://test/%s"); | 1272 data.SetURL("http://test/%s"); |
1273 data.input_encodings.push_back("UTF-8"); | 1273 data.input_encodings.push_back("UTF-8"); |
1274 data.input_encodings.push_back("UTF-8"); | 1274 data.input_encodings.push_back("UTF-8"); |
1275 data.input_encodings.push_back("UTF-16"); | 1275 data.input_encodings.push_back("UTF-16"); |
1276 data.input_encodings.push_back("UTF-8"); | 1276 data.input_encodings.push_back("UTF-8"); |
1277 data.input_encodings.push_back("Big5"); | 1277 data.input_encodings.push_back("Big5"); |
1278 data.input_encodings.push_back("UTF-16"); | 1278 data.input_encodings.push_back("UTF-16"); |
1279 data.input_encodings.push_back("Big5"); | 1279 data.input_encodings.push_back("Big5"); |
1280 data.input_encodings.push_back("Windows-1252"); | 1280 data.input_encodings.push_back("Windows-1252"); |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1444 // Keep a copy of it so we can compare it after we re-merge. | 1444 // Keep a copy of it so we can compare it after we re-merge. |
1445 TemplateURL* key1_url = model()->GetTemplateURLForGUID("key1"); | 1445 TemplateURL* key1_url = model()->GetTemplateURLForGUID("key1"); |
1446 ASSERT_TRUE(key1_url); | 1446 ASSERT_TRUE(key1_url); |
1447 scoped_ptr<TemplateURL> updated_turl(new TemplateURL(key1_url->data())); | 1447 scoped_ptr<TemplateURL> updated_turl(new TemplateURL(key1_url->data())); |
1448 EXPECT_EQ(Time::FromTimeT(90), updated_turl->last_modified()); | 1448 EXPECT_EQ(Time::FromTimeT(90), updated_turl->last_modified()); |
1449 | 1449 |
1450 // Modify a single field of the initial data. This should not be updated in | 1450 // Modify a single field of the initial data. This should not be updated in |
1451 // the second merge, as the last_modified timestamp remains the same. | 1451 // the second merge, as the last_modified timestamp remains the same. |
1452 scoped_ptr<TemplateURL> temp_turl(Deserialize(initial_data[0])); | 1452 scoped_ptr<TemplateURL> temp_turl(Deserialize(initial_data[0])); |
1453 TemplateURLData data(temp_turl->data()); | 1453 TemplateURLData data(temp_turl->data()); |
1454 data.short_name = ASCIIToUTF16("SomethingDifferent"); | 1454 data.SetShortName(ASCIIToUTF16("SomethingDifferent")); |
1455 temp_turl.reset(new TemplateURL(data)); | 1455 temp_turl.reset(new TemplateURL(data)); |
1456 initial_data.clear(); | 1456 initial_data.clear(); |
1457 initial_data.push_back( | 1457 initial_data.push_back( |
1458 TemplateURLService::CreateSyncDataFromTemplateURL(*temp_turl)); | 1458 TemplateURLService::CreateSyncDataFromTemplateURL(*temp_turl)); |
1459 | 1459 |
1460 // Remerge the data again. This simulates shutting down and syncing again | 1460 // Remerge the data again. This simulates shutting down and syncing again |
1461 // at a different time, but the cloud data has not changed. | 1461 // at a different time, but the cloud data has not changed. |
1462 model()->StopSyncing(syncer::SEARCH_ENGINES); | 1462 model()->StopSyncing(syncer::SEARCH_ENGINES); |
1463 sync_processor_wrapper_.reset( | 1463 sync_processor_wrapper_.reset( |
1464 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); | 1464 new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get())); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1522 } | 1522 } |
1523 | 1523 |
1524 TEST_F(TemplateURLServiceSyncTest, DefaultGuidDeletedBeforeNewDSPArrives) { | 1524 TEST_F(TemplateURLServiceSyncTest, DefaultGuidDeletedBeforeNewDSPArrives) { |
1525 syncer::SyncDataList initial_data; | 1525 syncer::SyncDataList initial_data; |
1526 // The default search provider should support replacement. | 1526 // The default search provider should support replacement. |
1527 scoped_ptr<TemplateURL> turl1(CreateTestTemplateURL(ASCIIToUTF16("key1"), | 1527 scoped_ptr<TemplateURL> turl1(CreateTestTemplateURL(ASCIIToUTF16("key1"), |
1528 "http://key1.com/{searchTerms}", "key1", 90)); | 1528 "http://key1.com/{searchTerms}", "key1", 90)); |
1529 // Create a second default search provider for the | 1529 // Create a second default search provider for the |
1530 // FindNewDefaultSearchProvider method to find. | 1530 // FindNewDefaultSearchProvider method to find. |
1531 TemplateURLData data; | 1531 TemplateURLData data; |
1532 data.short_name = ASCIIToUTF16("unittest"); | 1532 data.SetShortName(ASCIIToUTF16("unittest")); |
1533 data.SetKeyword(ASCIIToUTF16("key2")); | 1533 data.SetKeyword(ASCIIToUTF16("key2")); |
1534 data.SetURL("http://key2.com/{searchTerms}"); | 1534 data.SetURL("http://key2.com/{searchTerms}"); |
1535 data.favicon_url = GURL("http://favicon.url"); | 1535 data.favicon_url = GURL("http://favicon.url"); |
1536 data.safe_for_autoreplace = false; | 1536 data.safe_for_autoreplace = false; |
1537 data.date_created = Time::FromTimeT(100); | 1537 data.date_created = Time::FromTimeT(100); |
1538 data.last_modified = Time::FromTimeT(100); | 1538 data.last_modified = Time::FromTimeT(100); |
1539 data.created_by_policy = false; | 1539 data.created_by_policy = false; |
1540 data.prepopulate_id = 999999; | 1540 data.prepopulate_id = 999999; |
1541 data.sync_guid = "key2"; | 1541 data.sync_guid = "key2"; |
1542 data.show_in_default_list = true; | 1542 data.show_in_default_list = true; |
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2122 scoped_ptr<TemplateURL> sync_turl(CopyTemplateURL(default_turl.get(), | 2122 scoped_ptr<TemplateURL> sync_turl(CopyTemplateURL(default_turl.get(), |
2123 "http://wrong.url.com?q={searchTerms}", "default")); | 2123 "http://wrong.url.com?q={searchTerms}", "default")); |
2124 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); | 2124 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); |
2125 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2125 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
2126 syncer::SEARCH_ENGINES, list, PassProcessor(), | 2126 syncer::SEARCH_ENGINES, list, PassProcessor(), |
2127 CreateAndPassSyncErrorFactory()); | 2127 CreateAndPassSyncErrorFactory()); |
2128 | 2128 |
2129 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); | 2129 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); |
2130 EXPECT_TRUE(result_turl); | 2130 EXPECT_TRUE(result_turl); |
2131 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); | 2131 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); |
2132 EXPECT_EQ(default_turl->short_name, result_turl->short_name()); | 2132 EXPECT_EQ(default_turl->short_name(), result_turl->short_name()); |
2133 EXPECT_EQ(default_turl->url(), result_turl->url()); | 2133 EXPECT_EQ(default_turl->url(), result_turl->url()); |
2134 } | 2134 } |
2135 | 2135 |
2136 TEST_F(TemplateURLServiceSyncTest, AddPrepopulatedEngine) { | 2136 TEST_F(TemplateURLServiceSyncTest, AddPrepopulatedEngine) { |
2137 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2137 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
2138 syncer::SEARCH_ENGINES, syncer::SyncDataList(), PassProcessor(), | 2138 syncer::SEARCH_ENGINES, syncer::SyncDataList(), PassProcessor(), |
2139 CreateAndPassSyncErrorFactory()); | 2139 CreateAndPassSyncErrorFactory()); |
2140 | 2140 |
2141 scoped_ptr<TemplateURLData> default_turl( | 2141 scoped_ptr<TemplateURLData> default_turl( |
2142 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); | 2142 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); |
2143 TemplateURL* sync_turl = CopyTemplateURL(default_turl.get(), | 2143 TemplateURL* sync_turl = CopyTemplateURL(default_turl.get(), |
2144 "http://wrong.url.com?q={searchTerms}", "default"); | 2144 "http://wrong.url.com?q={searchTerms}", "default"); |
2145 | 2145 |
2146 // Add a prepopulated engine with a wrong URL. | 2146 // Add a prepopulated engine with a wrong URL. |
2147 syncer::SyncChangeList changes; | 2147 syncer::SyncChangeList changes; |
2148 changes.push_back(CreateTestSyncChange(syncer::SyncChange::ACTION_ADD, | 2148 changes.push_back(CreateTestSyncChange(syncer::SyncChange::ACTION_ADD, |
2149 sync_turl)); | 2149 sync_turl)); |
2150 model()->ProcessSyncChanges(FROM_HERE, changes); | 2150 model()->ProcessSyncChanges(FROM_HERE, changes); |
2151 | 2151 |
2152 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); | 2152 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); |
2153 EXPECT_TRUE(result_turl); | 2153 EXPECT_TRUE(result_turl); |
2154 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); | 2154 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); |
2155 EXPECT_EQ(default_turl->short_name, result_turl->short_name()); | 2155 EXPECT_EQ(default_turl->short_name(), result_turl->short_name()); |
2156 EXPECT_EQ(default_turl->url(), result_turl->url()); | 2156 EXPECT_EQ(default_turl->url(), result_turl->url()); |
2157 } | 2157 } |
2158 | 2158 |
2159 TEST_F(TemplateURLServiceSyncTest, UpdatePrepopulatedEngine) { | 2159 TEST_F(TemplateURLServiceSyncTest, UpdatePrepopulatedEngine) { |
2160 scoped_ptr<TemplateURLData> default_turl( | 2160 scoped_ptr<TemplateURLData> default_turl( |
2161 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); | 2161 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); |
2162 | 2162 |
2163 TemplateURLData data = *default_turl; | 2163 TemplateURLData data = *default_turl; |
2164 data.SetURL("http://old.wrong.url.com?q={searchTerms}"); | 2164 data.SetURL("http://old.wrong.url.com?q={searchTerms}"); |
2165 data.sync_guid = "default"; | 2165 data.sync_guid = "default"; |
2166 model()->Add(new TemplateURL(data)); | 2166 model()->Add(new TemplateURL(data)); |
2167 | 2167 |
2168 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2168 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
2169 syncer::SEARCH_ENGINES, syncer::SyncDataList(), PassProcessor(), | 2169 syncer::SEARCH_ENGINES, syncer::SyncDataList(), PassProcessor(), |
2170 CreateAndPassSyncErrorFactory()); | 2170 CreateAndPassSyncErrorFactory()); |
2171 | 2171 |
2172 TemplateURL* sync_turl = CopyTemplateURL(default_turl.get(), | 2172 TemplateURL* sync_turl = CopyTemplateURL(default_turl.get(), |
2173 "http://new.wrong.url.com?q={searchTerms}", "default"); | 2173 "http://new.wrong.url.com?q={searchTerms}", "default"); |
2174 | 2174 |
2175 // Update the engine in the model, which is prepopulated, with a new one. | 2175 // Update the engine in the model, which is prepopulated, with a new one. |
2176 // Both have wrong URLs, but it should still get corrected. | 2176 // Both have wrong URLs, but it should still get corrected. |
2177 syncer::SyncChangeList changes; | 2177 syncer::SyncChangeList changes; |
2178 changes.push_back(CreateTestSyncChange(syncer::SyncChange::ACTION_UPDATE, | 2178 changes.push_back(CreateTestSyncChange(syncer::SyncChange::ACTION_UPDATE, |
2179 sync_turl)); | 2179 sync_turl)); |
2180 model()->ProcessSyncChanges(FROM_HERE, changes); | 2180 model()->ProcessSyncChanges(FROM_HERE, changes); |
2181 | 2181 |
2182 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); | 2182 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); |
2183 EXPECT_TRUE(result_turl); | 2183 EXPECT_TRUE(result_turl); |
2184 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); | 2184 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); |
2185 EXPECT_EQ(default_turl->short_name, result_turl->short_name()); | 2185 EXPECT_EQ(default_turl->short_name(), result_turl->short_name()); |
2186 EXPECT_EQ(default_turl->url(), result_turl->url()); | 2186 EXPECT_EQ(default_turl->url(), result_turl->url()); |
2187 } | 2187 } |
2188 | 2188 |
2189 TEST_F(TemplateURLServiceSyncTest, MergeEditedPrepopulatedEngine) { | 2189 TEST_F(TemplateURLServiceSyncTest, MergeEditedPrepopulatedEngine) { |
2190 scoped_ptr<TemplateURLData> default_turl( | 2190 scoped_ptr<TemplateURLData> default_turl( |
2191 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); | 2191 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); |
2192 | 2192 |
2193 TemplateURLData data(*default_turl); | 2193 TemplateURLData data(*default_turl); |
2194 data.safe_for_autoreplace = false; | 2194 data.safe_for_autoreplace = false; |
2195 data.SetKeyword(ASCIIToUTF16("new_kw")); | 2195 data.SetKeyword(ASCIIToUTF16("new_kw")); |
2196 data.short_name = ASCIIToUTF16("my name"); | 2196 data.SetShortName(ASCIIToUTF16("my name")); |
2197 data.SetURL("http://wrong.url.com?q={searchTerms}"); | 2197 data.SetURL("http://wrong.url.com?q={searchTerms}"); |
2198 data.date_created = Time::FromTimeT(50); | 2198 data.date_created = Time::FromTimeT(50); |
2199 data.last_modified = Time::FromTimeT(50); | 2199 data.last_modified = Time::FromTimeT(50); |
2200 data.sync_guid = "default"; | 2200 data.sync_guid = "default"; |
2201 model()->Add(new TemplateURL(data)); | 2201 model()->Add(new TemplateURL(data)); |
2202 | 2202 |
2203 data.date_created = Time::FromTimeT(100); | 2203 data.date_created = Time::FromTimeT(100); |
2204 data.last_modified = Time::FromTimeT(100); | 2204 data.last_modified = Time::FromTimeT(100); |
2205 scoped_ptr<TemplateURL> sync_turl(new TemplateURL(data)); | 2205 scoped_ptr<TemplateURL> sync_turl(new TemplateURL(data)); |
2206 syncer::SyncDataList list; | 2206 syncer::SyncDataList list; |
2207 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); | 2207 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); |
2208 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2208 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
2209 syncer::SEARCH_ENGINES, list, PassProcessor(), | 2209 syncer::SEARCH_ENGINES, list, PassProcessor(), |
2210 CreateAndPassSyncErrorFactory()); | 2210 CreateAndPassSyncErrorFactory()); |
2211 | 2211 |
2212 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); | 2212 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); |
2213 EXPECT_TRUE(result_turl); | 2213 EXPECT_TRUE(result_turl); |
2214 EXPECT_EQ(ASCIIToUTF16("new_kw"), result_turl->keyword()); | 2214 EXPECT_EQ(ASCIIToUTF16("new_kw"), result_turl->keyword()); |
2215 EXPECT_EQ(ASCIIToUTF16("my name"), result_turl->short_name()); | 2215 EXPECT_EQ(ASCIIToUTF16("my name"), result_turl->short_name()); |
2216 EXPECT_EQ(default_turl->url(), result_turl->url()); | 2216 EXPECT_EQ(default_turl->url(), result_turl->url()); |
2217 } | 2217 } |
2218 | 2218 |
2219 TEST_F(TemplateURLServiceSyncTest, MergeNonEditedPrepopulatedEngine) { | 2219 TEST_F(TemplateURLServiceSyncTest, MergeNonEditedPrepopulatedEngine) { |
2220 scoped_ptr<TemplateURLData> default_turl( | 2220 scoped_ptr<TemplateURLData> default_turl( |
2221 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); | 2221 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); |
2222 | 2222 |
2223 TemplateURLData data(*default_turl); | 2223 TemplateURLData data(*default_turl); |
2224 data.safe_for_autoreplace = true; // Can be replaced with built-in values. | 2224 data.safe_for_autoreplace = true; // Can be replaced with built-in values. |
2225 data.SetKeyword(ASCIIToUTF16("new_kw")); | 2225 data.SetKeyword(ASCIIToUTF16("new_kw")); |
2226 data.short_name = ASCIIToUTF16("my name"); | 2226 data.SetShortName(ASCIIToUTF16("my name")); |
2227 data.SetURL("http://wrong.url.com?q={searchTerms}"); | 2227 data.SetURL("http://wrong.url.com?q={searchTerms}"); |
2228 data.date_created = Time::FromTimeT(50); | 2228 data.date_created = Time::FromTimeT(50); |
2229 data.last_modified = Time::FromTimeT(50); | 2229 data.last_modified = Time::FromTimeT(50); |
2230 data.sync_guid = "default"; | 2230 data.sync_guid = "default"; |
2231 model()->Add(new TemplateURL(data)); | 2231 model()->Add(new TemplateURL(data)); |
2232 | 2232 |
2233 data.date_created = Time::FromTimeT(100); | 2233 data.date_created = Time::FromTimeT(100); |
2234 data.last_modified = Time::FromTimeT(100); | 2234 data.last_modified = Time::FromTimeT(100); |
2235 scoped_ptr<TemplateURL> sync_turl(new TemplateURL(data)); | 2235 scoped_ptr<TemplateURL> sync_turl(new TemplateURL(data)); |
2236 syncer::SyncDataList list; | 2236 syncer::SyncDataList list; |
2237 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); | 2237 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); |
2238 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2238 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
2239 syncer::SEARCH_ENGINES, list, PassProcessor(), | 2239 syncer::SEARCH_ENGINES, list, PassProcessor(), |
2240 CreateAndPassSyncErrorFactory()); | 2240 CreateAndPassSyncErrorFactory()); |
2241 | 2241 |
2242 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); | 2242 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); |
2243 EXPECT_TRUE(result_turl); | 2243 EXPECT_TRUE(result_turl); |
2244 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); | 2244 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); |
2245 EXPECT_EQ(default_turl->short_name, result_turl->short_name()); | 2245 EXPECT_EQ(default_turl->short_name(), result_turl->short_name()); |
2246 EXPECT_EQ(default_turl->url(), result_turl->url()); | 2246 EXPECT_EQ(default_turl->url(), result_turl->url()); |
2247 } | 2247 } |
2248 | 2248 |
2249 TEST_F(TemplateURLServiceSyncTest, GUIDUpdatedOnDefaultSearchChange) { | 2249 TEST_F(TemplateURLServiceSyncTest, GUIDUpdatedOnDefaultSearchChange) { |
2250 const char kGUID[] = "initdefault"; | 2250 const char kGUID[] = "initdefault"; |
2251 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("what"), | 2251 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("what"), |
2252 "http://thewhat.com/{searchTerms}", | 2252 "http://thewhat.com/{searchTerms}", |
2253 kGUID)); | 2253 kGUID)); |
2254 model()->SetUserSelectedDefaultSearchProvider( | 2254 model()->SetUserSelectedDefaultSearchProvider( |
2255 model()->GetTemplateURLForGUID(kGUID)); | 2255 model()->GetTemplateURLForGUID(kGUID)); |
2256 | 2256 |
2257 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); | 2257 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
2258 ASSERT_TRUE(default_search); | 2258 ASSERT_TRUE(default_search); |
2259 | 2259 |
2260 const char kNewGUID[] = "newdefault"; | 2260 const char kNewGUID[] = "newdefault"; |
2261 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("what"), | 2261 model()->Add(CreateTestTemplateURL(ASCIIToUTF16("what"), |
2262 "http://thewhat.com/{searchTerms}", | 2262 "http://thewhat.com/{searchTerms}", |
2263 kNewGUID)); | 2263 kNewGUID)); |
2264 model()->SetUserSelectedDefaultSearchProvider( | 2264 model()->SetUserSelectedDefaultSearchProvider( |
2265 model()->GetTemplateURLForGUID(kNewGUID)); | 2265 model()->GetTemplateURLForGUID(kNewGUID)); |
2266 | 2266 |
2267 EXPECT_EQ(kNewGUID, profile_a()->GetTestingPrefService()->GetString( | 2267 EXPECT_EQ(kNewGUID, profile_a()->GetTestingPrefService()->GetString( |
2268 prefs::kSyncedDefaultSearchProviderGUID)); | 2268 prefs::kSyncedDefaultSearchProviderGUID)); |
2269 } | 2269 } |
OLD | NEW |