Chromium Code Reviews| 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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 76 se_specifics->set_originating_url(turl.originating_url().spec()); | 76 se_specifics->set_originating_url(turl.originating_url().spec()); |
| 77 se_specifics->set_date_created(turl.date_created().ToInternalValue()); | 77 se_specifics->set_date_created(turl.date_created().ToInternalValue()); |
| 78 se_specifics->set_input_encodings( | 78 se_specifics->set_input_encodings( |
| 79 base::JoinString(turl.input_encodings(), ";")); | 79 base::JoinString(turl.input_encodings(), ";")); |
| 80 se_specifics->set_suggestions_url(turl.suggestions_url()); | 80 se_specifics->set_suggestions_url(turl.suggestions_url()); |
| 81 se_specifics->set_prepopulate_id(prepopulate_id == -1 ? turl.prepopulate_id() | 81 se_specifics->set_prepopulate_id(prepopulate_id == -1 ? turl.prepopulate_id() |
| 82 : prepopulate_id); | 82 : prepopulate_id); |
| 83 se_specifics->set_autogenerate_keyword(autogenerate_keyword); | 83 se_specifics->set_autogenerate_keyword(autogenerate_keyword); |
| 84 se_specifics->set_instant_url(turl.instant_url()); | 84 se_specifics->set_instant_url(turl.instant_url()); |
| 85 se_specifics->set_last_modified(turl.last_modified().ToInternalValue()); | 85 se_specifics->set_last_modified(turl.last_modified().ToInternalValue()); |
| 86 se_specifics->set_last_visited(turl.last_visited().ToInternalValue()); | |
| 86 se_specifics->set_sync_guid(sync_guid); | 87 se_specifics->set_sync_guid(sync_guid); |
| 87 return syncer::SyncData::CreateLocalData(turl.sync_guid(), // Must be valid! | 88 return syncer::SyncData::CreateLocalData(turl.sync_guid(), // Must be valid! |
| 88 se_specifics->keyword(), specifics); | 89 se_specifics->keyword(), specifics); |
| 89 } | 90 } |
| 90 | 91 |
| 91 | 92 |
| 92 // TestChangeProcessor -------------------------------------------------------- | 93 // TestChangeProcessor -------------------------------------------------------- |
| 93 | 94 |
| 94 // Dummy SyncChangeProcessor used to help review what SyncChanges are pushed | 95 // Dummy SyncChangeProcessor used to help review what SyncChanges are pushed |
| 95 // back up to Sync. | 96 // back up to Sync. |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 288 bool created_by_policy, | 289 bool created_by_policy, |
| 289 int prepopulate_id) const { | 290 int prepopulate_id) const { |
| 290 TemplateURLData data; | 291 TemplateURLData data; |
| 291 data.SetShortName(ASCIIToUTF16("unittest")); | 292 data.SetShortName(ASCIIToUTF16("unittest")); |
| 292 data.SetKeyword(keyword); | 293 data.SetKeyword(keyword); |
| 293 data.SetURL(url); | 294 data.SetURL(url); |
| 294 data.favicon_url = GURL("http://favicon.url"); | 295 data.favicon_url = GURL("http://favicon.url"); |
| 295 data.safe_for_autoreplace = safe_for_autoreplace; | 296 data.safe_for_autoreplace = safe_for_autoreplace; |
| 296 data.date_created = Time::FromTimeT(100); | 297 data.date_created = Time::FromTimeT(100); |
| 297 data.last_modified = Time::FromTimeT(last_mod); | 298 data.last_modified = Time::FromTimeT(last_mod); |
| 299 data.last_visited = Time::FromTimeT(100); | |
|
Peter Kasting
2016/11/21 03:35:07
It may be possible to remove most of the explicit
ltian
2016/11/28 22:08:01
I think these explicitly setting is used for some
| |
| 298 data.created_by_policy = created_by_policy; | 300 data.created_by_policy = created_by_policy; |
| 299 data.prepopulate_id = prepopulate_id; | 301 data.prepopulate_id = prepopulate_id; |
| 300 if (!guid.empty()) | 302 if (!guid.empty()) |
| 301 data.sync_guid = guid; | 303 data.sync_guid = guid; |
| 302 return base::MakeUnique<TemplateURL>(data); | 304 return base::MakeUnique<TemplateURL>(data); |
| 303 } | 305 } |
| 304 | 306 |
| 305 void TemplateURLServiceSyncTest::AssertEquals(const TemplateURL& expected, | 307 void TemplateURLServiceSyncTest::AssertEquals(const TemplateURL& expected, |
| 306 const TemplateURL& actual) const { | 308 const TemplateURL& actual) const { |
| 307 ASSERT_EQ(expected.short_name(), actual.short_name()); | 309 ASSERT_EQ(expected.short_name(), actual.short_name()); |
| 308 ASSERT_EQ(expected.keyword(), actual.keyword()); | 310 ASSERT_EQ(expected.keyword(), actual.keyword()); |
| 309 ASSERT_EQ(expected.url(), actual.url()); | 311 ASSERT_EQ(expected.url(), actual.url()); |
| 310 ASSERT_EQ(expected.suggestions_url(), actual.suggestions_url()); | 312 ASSERT_EQ(expected.suggestions_url(), actual.suggestions_url()); |
| 311 ASSERT_EQ(expected.favicon_url(), actual.favicon_url()); | 313 ASSERT_EQ(expected.favicon_url(), actual.favicon_url()); |
| 312 ASSERT_EQ(expected.safe_for_autoreplace(), actual.safe_for_autoreplace()); | 314 ASSERT_EQ(expected.safe_for_autoreplace(), actual.safe_for_autoreplace()); |
| 313 ASSERT_EQ(expected.input_encodings(), actual.input_encodings()); | 315 ASSERT_EQ(expected.input_encodings(), actual.input_encodings()); |
| 314 ASSERT_EQ(expected.date_created(), actual.date_created()); | 316 ASSERT_EQ(expected.date_created(), actual.date_created()); |
| 315 ASSERT_EQ(expected.last_modified(), actual.last_modified()); | 317 ASSERT_EQ(expected.last_modified(), actual.last_modified()); |
| 318 ASSERT_EQ(expected.last_visited(), actual.last_visited()); | |
| 316 } | 319 } |
| 317 | 320 |
| 318 void TemplateURLServiceSyncTest::AssertEquals( | 321 void TemplateURLServiceSyncTest::AssertEquals( |
| 319 const syncer::SyncDataList& data1, | 322 const syncer::SyncDataList& data1, |
| 320 const syncer::SyncDataList& data2) const { | 323 const syncer::SyncDataList& data2) const { |
| 321 SyncDataMap map1 = TemplateURLService::CreateGUIDToSyncDataMap(data1); | 324 SyncDataMap map1 = TemplateURLService::CreateGUIDToSyncDataMap(data1); |
| 322 SyncDataMap map2 = TemplateURLService::CreateGUIDToSyncDataMap(data2); | 325 SyncDataMap map2 = TemplateURLService::CreateGUIDToSyncDataMap(data2); |
| 323 | 326 |
| 324 for (SyncDataMap::const_iterator iter1 = map1.begin(); | 327 for (SyncDataMap::const_iterator iter1 = map1.begin(); |
| 325 iter1 != map1.end(); iter1++) { | 328 iter1 != map1.end(); iter1++) { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 369 } | 372 } |
| 370 | 373 |
| 371 std::unique_ptr<TemplateURL> TemplateURLServiceSyncTest::CopyTemplateURL( | 374 std::unique_ptr<TemplateURL> TemplateURLServiceSyncTest::CopyTemplateURL( |
| 372 const TemplateURLData* turl, | 375 const TemplateURLData* turl, |
| 373 const std::string& url, | 376 const std::string& url, |
| 374 const std::string& guid) { | 377 const std::string& guid) { |
| 375 TemplateURLData data = *turl; | 378 TemplateURLData data = *turl; |
| 376 data.SetURL(url); | 379 data.SetURL(url); |
| 377 data.date_created = Time::FromTimeT(100); | 380 data.date_created = Time::FromTimeT(100); |
| 378 data.last_modified = Time::FromTimeT(100); | 381 data.last_modified = Time::FromTimeT(100); |
| 382 data.last_visited = Time::FromTimeT(100); | |
| 379 data.sync_guid = guid; | 383 data.sync_guid = guid; |
| 380 return base::MakeUnique<TemplateURL>(data); | 384 return base::MakeUnique<TemplateURL>(data); |
| 381 } | 385 } |
| 382 | 386 |
| 383 // Actual tests --------------------------------------------------------------- | 387 // Actual tests --------------------------------------------------------------- |
| 384 | 388 |
| 385 TEST_F(TemplateURLServiceSyncTest, SerializeDeserialize) { | 389 TEST_F(TemplateURLServiceSyncTest, SerializeDeserialize) { |
| 386 // Create a TemplateURL and convert it into a sync specific type. | 390 // Create a TemplateURL and convert it into a sync specific type. |
| 387 std::unique_ptr<TemplateURL> turl(CreateTestTemplateURL( | 391 std::unique_ptr<TemplateURL> turl(CreateTestTemplateURL( |
| 388 ASCIIToUTF16("unittest"), "http://www.unittest.com/")); | 392 ASCIIToUTF16("unittest"), "http://www.unittest.com/")); |
| (...skipping 873 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1262 data.input_encodings.push_back("UTF-8"); | 1266 data.input_encodings.push_back("UTF-8"); |
| 1263 data.input_encodings.push_back("UTF-8"); | 1267 data.input_encodings.push_back("UTF-8"); |
| 1264 data.input_encodings.push_back("UTF-16"); | 1268 data.input_encodings.push_back("UTF-16"); |
| 1265 data.input_encodings.push_back("UTF-8"); | 1269 data.input_encodings.push_back("UTF-8"); |
| 1266 data.input_encodings.push_back("Big5"); | 1270 data.input_encodings.push_back("Big5"); |
| 1267 data.input_encodings.push_back("UTF-16"); | 1271 data.input_encodings.push_back("UTF-16"); |
| 1268 data.input_encodings.push_back("Big5"); | 1272 data.input_encodings.push_back("Big5"); |
| 1269 data.input_encodings.push_back("Windows-1252"); | 1273 data.input_encodings.push_back("Windows-1252"); |
| 1270 data.date_created = Time::FromTimeT(100); | 1274 data.date_created = Time::FromTimeT(100); |
| 1271 data.last_modified = Time::FromTimeT(100); | 1275 data.last_modified = Time::FromTimeT(100); |
| 1276 data.last_visited = Time::FromTimeT(100); | |
| 1272 data.sync_guid = "keyword"; | 1277 data.sync_guid = "keyword"; |
| 1273 std::unique_ptr<TemplateURL> turl(new TemplateURL(data)); | 1278 std::unique_ptr<TemplateURL> turl(new TemplateURL(data)); |
| 1274 initial_data.push_back( | 1279 initial_data.push_back( |
| 1275 TemplateURLService::CreateSyncDataFromTemplateURL(*turl)); | 1280 TemplateURLService::CreateSyncDataFromTemplateURL(*turl)); |
| 1276 | 1281 |
| 1277 // Now try to sync the data locally. | 1282 // Now try to sync the data locally. |
| 1278 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, | 1283 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, |
| 1279 PassProcessor(), CreateAndPassSyncErrorFactory()); | 1284 PassProcessor(), CreateAndPassSyncErrorFactory()); |
| 1280 | 1285 |
| 1281 // The entry should have been added, with duplicate encodings removed. | 1286 // The entry should have been added, with duplicate encodings removed. |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1514 // Create a second default search provider for the | 1519 // Create a second default search provider for the |
| 1515 // FindNewDefaultSearchProvider method to find. | 1520 // FindNewDefaultSearchProvider method to find. |
| 1516 TemplateURLData data; | 1521 TemplateURLData data; |
| 1517 data.SetShortName(ASCIIToUTF16("unittest")); | 1522 data.SetShortName(ASCIIToUTF16("unittest")); |
| 1518 data.SetKeyword(ASCIIToUTF16("key2")); | 1523 data.SetKeyword(ASCIIToUTF16("key2")); |
| 1519 data.SetURL("http://key2.com/{searchTerms}"); | 1524 data.SetURL("http://key2.com/{searchTerms}"); |
| 1520 data.favicon_url = GURL("http://favicon.url"); | 1525 data.favicon_url = GURL("http://favicon.url"); |
| 1521 data.safe_for_autoreplace = false; | 1526 data.safe_for_autoreplace = false; |
| 1522 data.date_created = Time::FromTimeT(100); | 1527 data.date_created = Time::FromTimeT(100); |
| 1523 data.last_modified = Time::FromTimeT(100); | 1528 data.last_modified = Time::FromTimeT(100); |
| 1529 data.last_visited = Time::FromTimeT(100); | |
| 1524 data.created_by_policy = false; | 1530 data.created_by_policy = false; |
| 1525 data.prepopulate_id = 999999; | 1531 data.prepopulate_id = 999999; |
| 1526 data.sync_guid = "key2"; | 1532 data.sync_guid = "key2"; |
| 1527 std::unique_ptr<TemplateURL> turl2(new TemplateURL(data)); | 1533 std::unique_ptr<TemplateURL> turl2(new TemplateURL(data)); |
| 1528 initial_data.push_back(TemplateURLService::CreateSyncDataFromTemplateURL( | 1534 initial_data.push_back(TemplateURLService::CreateSyncDataFromTemplateURL( |
| 1529 *turl1)); | 1535 *turl1)); |
| 1530 initial_data.push_back(TemplateURLService::CreateSyncDataFromTemplateURL( | 1536 initial_data.push_back(TemplateURLService::CreateSyncDataFromTemplateURL( |
| 1531 *turl2)); | 1537 *turl2)); |
| 1532 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, | 1538 model()->MergeDataAndStartSyncing(syncer::SEARCH_ENGINES, initial_data, |
| 1533 PassProcessor(), CreateAndPassSyncErrorFactory()); | 1539 PassProcessor(), CreateAndPassSyncErrorFactory()); |
| (...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2171 std::unique_ptr<TemplateURLData> default_turl( | 2177 std::unique_ptr<TemplateURLData> default_turl( |
| 2172 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); | 2178 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); |
| 2173 | 2179 |
| 2174 TemplateURLData data(*default_turl); | 2180 TemplateURLData data(*default_turl); |
| 2175 data.safe_for_autoreplace = false; | 2181 data.safe_for_autoreplace = false; |
| 2176 data.SetKeyword(ASCIIToUTF16("new_kw")); | 2182 data.SetKeyword(ASCIIToUTF16("new_kw")); |
| 2177 data.SetShortName(ASCIIToUTF16("my name")); | 2183 data.SetShortName(ASCIIToUTF16("my name")); |
| 2178 data.SetURL("http://wrong.url.com?q={searchTerms}"); | 2184 data.SetURL("http://wrong.url.com?q={searchTerms}"); |
| 2179 data.date_created = Time::FromTimeT(50); | 2185 data.date_created = Time::FromTimeT(50); |
| 2180 data.last_modified = Time::FromTimeT(50); | 2186 data.last_modified = Time::FromTimeT(50); |
| 2187 data.last_visited = Time::FromTimeT(50); | |
| 2181 data.sync_guid = "default"; | 2188 data.sync_guid = "default"; |
| 2182 model()->Add(base::MakeUnique<TemplateURL>(data)); | 2189 model()->Add(base::MakeUnique<TemplateURL>(data)); |
| 2183 | 2190 |
| 2184 data.date_created = Time::FromTimeT(100); | 2191 data.date_created = Time::FromTimeT(100); |
| 2185 data.last_modified = Time::FromTimeT(100); | 2192 data.last_modified = Time::FromTimeT(100); |
| 2193 data.last_visited = Time::FromTimeT(100); | |
| 2186 std::unique_ptr<TemplateURL> sync_turl(new TemplateURL(data)); | 2194 std::unique_ptr<TemplateURL> sync_turl(new TemplateURL(data)); |
| 2187 syncer::SyncDataList list; | 2195 syncer::SyncDataList list; |
| 2188 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); | 2196 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); |
| 2189 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2197 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
| 2190 syncer::SEARCH_ENGINES, list, PassProcessor(), | 2198 syncer::SEARCH_ENGINES, list, PassProcessor(), |
| 2191 CreateAndPassSyncErrorFactory()); | 2199 CreateAndPassSyncErrorFactory()); |
| 2192 | 2200 |
| 2193 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); | 2201 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); |
| 2194 EXPECT_TRUE(result_turl); | 2202 EXPECT_TRUE(result_turl); |
| 2195 EXPECT_EQ(ASCIIToUTF16("new_kw"), result_turl->keyword()); | 2203 EXPECT_EQ(ASCIIToUTF16("new_kw"), result_turl->keyword()); |
| 2196 EXPECT_EQ(ASCIIToUTF16("my name"), result_turl->short_name()); | 2204 EXPECT_EQ(ASCIIToUTF16("my name"), result_turl->short_name()); |
| 2197 EXPECT_EQ(default_turl->url(), result_turl->url()); | 2205 EXPECT_EQ(default_turl->url(), result_turl->url()); |
| 2198 } | 2206 } |
| 2199 | 2207 |
| 2200 TEST_F(TemplateURLServiceSyncTest, MergeConflictingPrepopulatedEngine) { | 2208 TEST_F(TemplateURLServiceSyncTest, MergeConflictingPrepopulatedEngine) { |
| 2201 std::unique_ptr<TemplateURLData> default_turl( | 2209 std::unique_ptr<TemplateURLData> default_turl( |
| 2202 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(nullptr)); | 2210 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(nullptr)); |
| 2203 | 2211 |
| 2204 TemplateURLData data(*default_turl); | 2212 TemplateURLData data(*default_turl); |
| 2205 data.SetKeyword(ASCIIToUTF16("old_kw")); | 2213 data.SetKeyword(ASCIIToUTF16("old_kw")); |
| 2206 data.SetShortName(ASCIIToUTF16("my name")); | 2214 data.SetShortName(ASCIIToUTF16("my name")); |
| 2207 data.SetURL("http://wrong.url.com?q={searchTerms}"); | 2215 data.SetURL("http://wrong.url.com?q={searchTerms}"); |
| 2208 data.safe_for_autoreplace = true; | 2216 data.safe_for_autoreplace = true; |
| 2209 data.date_created = Time::FromTimeT(50); | 2217 data.date_created = Time::FromTimeT(50); |
| 2210 data.last_modified = Time::FromTimeT(50); | 2218 data.last_modified = Time::FromTimeT(50); |
| 2219 data.last_visited = Time::FromTimeT(50); | |
| 2211 data.prepopulate_id = 1; | 2220 data.prepopulate_id = 1; |
| 2212 data.sync_guid = "default"; | 2221 data.sync_guid = "default"; |
| 2213 model()->Add(base::MakeUnique<TemplateURL>(data)); | 2222 model()->Add(base::MakeUnique<TemplateURL>(data)); |
| 2214 | 2223 |
| 2215 TemplateURLData new_data(*default_turl); | 2224 TemplateURLData new_data(*default_turl); |
| 2216 new_data.SetKeyword(ASCIIToUTF16("new_kw")); | 2225 new_data.SetKeyword(ASCIIToUTF16("new_kw")); |
| 2217 new_data.SetShortName(ASCIIToUTF16("my name")); | 2226 new_data.SetShortName(ASCIIToUTF16("my name")); |
| 2218 new_data.SetURL("http://wrong.url.com?q={searchTerms}"); | 2227 new_data.SetURL("http://wrong.url.com?q={searchTerms}"); |
| 2219 new_data.safe_for_autoreplace = false; | 2228 new_data.safe_for_autoreplace = false; |
| 2220 new_data.date_created = Time::FromTimeT(100); | 2229 new_data.date_created = Time::FromTimeT(100); |
| 2221 new_data.last_modified = Time::FromTimeT(100); | 2230 new_data.last_modified = Time::FromTimeT(100); |
| 2231 new_data.last_visited = Time::FromTimeT(100); | |
| 2222 new_data.prepopulate_id = 1; | 2232 new_data.prepopulate_id = 1; |
| 2223 new_data.sync_guid = "different_guid"; | 2233 new_data.sync_guid = "different_guid"; |
| 2224 | 2234 |
| 2225 // Test that a remote TemplateURL can override a local TemplateURL not yet | 2235 // Test that a remote TemplateURL can override a local TemplateURL not yet |
| 2226 // known to sync. | 2236 // known to sync. |
| 2227 std::unique_ptr<TemplateURL> sync_turl = | 2237 std::unique_ptr<TemplateURL> sync_turl = |
| 2228 base::MakeUnique<TemplateURL>(new_data); | 2238 base::MakeUnique<TemplateURL>(new_data); |
| 2229 syncer::SyncDataList list; | 2239 syncer::SyncDataList list; |
| 2230 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); | 2240 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); |
| 2231 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2241 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2265 std::unique_ptr<TemplateURLData> default_turl( | 2275 std::unique_ptr<TemplateURLData> default_turl( |
| 2266 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); | 2276 TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL)); |
| 2267 | 2277 |
| 2268 TemplateURLData data(*default_turl); | 2278 TemplateURLData data(*default_turl); |
| 2269 data.safe_for_autoreplace = true; // Can be replaced with built-in values. | 2279 data.safe_for_autoreplace = true; // Can be replaced with built-in values. |
| 2270 data.SetKeyword(ASCIIToUTF16("new_kw")); | 2280 data.SetKeyword(ASCIIToUTF16("new_kw")); |
| 2271 data.SetShortName(ASCIIToUTF16("my name")); | 2281 data.SetShortName(ASCIIToUTF16("my name")); |
| 2272 data.SetURL("http://wrong.url.com?q={searchTerms}"); | 2282 data.SetURL("http://wrong.url.com?q={searchTerms}"); |
| 2273 data.date_created = Time::FromTimeT(50); | 2283 data.date_created = Time::FromTimeT(50); |
| 2274 data.last_modified = Time::FromTimeT(50); | 2284 data.last_modified = Time::FromTimeT(50); |
| 2285 data.last_visited = Time::FromTimeT(50); | |
| 2275 data.sync_guid = "default"; | 2286 data.sync_guid = "default"; |
| 2276 model()->Add(base::MakeUnique<TemplateURL>(data)); | 2287 model()->Add(base::MakeUnique<TemplateURL>(data)); |
| 2277 | 2288 |
| 2278 data.date_created = Time::FromTimeT(100); | 2289 data.date_created = Time::FromTimeT(100); |
| 2279 data.last_modified = Time::FromTimeT(100); | 2290 data.last_modified = Time::FromTimeT(100); |
| 2291 data.last_visited = Time::FromTimeT(100); | |
| 2280 std::unique_ptr<TemplateURL> sync_turl(new TemplateURL(data)); | 2292 std::unique_ptr<TemplateURL> sync_turl(new TemplateURL(data)); |
| 2281 syncer::SyncDataList list; | 2293 syncer::SyncDataList list; |
| 2282 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); | 2294 list.push_back(TemplateURLService::CreateSyncDataFromTemplateURL(*sync_turl)); |
| 2283 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( | 2295 syncer::SyncMergeResult merge_result = model()->MergeDataAndStartSyncing( |
| 2284 syncer::SEARCH_ENGINES, list, PassProcessor(), | 2296 syncer::SEARCH_ENGINES, list, PassProcessor(), |
| 2285 CreateAndPassSyncErrorFactory()); | 2297 CreateAndPassSyncErrorFactory()); |
| 2286 | 2298 |
| 2287 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); | 2299 const TemplateURL* result_turl = model()->GetTemplateURLForGUID("default"); |
| 2288 EXPECT_TRUE(result_turl); | 2300 EXPECT_TRUE(result_turl); |
| 2289 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); | 2301 EXPECT_EQ(default_turl->keyword(), result_turl->keyword()); |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 2315 | 2327 |
| 2316 TEST_F(TemplateURLServiceSyncTest, NonAsciiKeywordDoesNotCrash) { | 2328 TEST_F(TemplateURLServiceSyncTest, NonAsciiKeywordDoesNotCrash) { |
| 2317 model()->Add(CreateTestTemplateURL(UTF8ToUTF16("\xf0\xaf\xa6\x8d"), | 2329 model()->Add(CreateTestTemplateURL(UTF8ToUTF16("\xf0\xaf\xa6\x8d"), |
| 2318 "http://key1.com")); | 2330 "http://key1.com")); |
| 2319 syncer::SyncDataList initial_data = CreateInitialSyncData(); | 2331 syncer::SyncDataList initial_data = CreateInitialSyncData(); |
| 2320 | 2332 |
| 2321 model()->MergeDataAndStartSyncing( | 2333 model()->MergeDataAndStartSyncing( |
| 2322 syncer::SEARCH_ENGINES, initial_data, PassProcessor(), | 2334 syncer::SEARCH_ENGINES, initial_data, PassProcessor(), |
| 2323 CreateAndPassSyncErrorFactory()); | 2335 CreateAndPassSyncErrorFactory()); |
| 2324 } | 2336 } |
| OLD | NEW |