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

Side by Side Diff: chrome/browser/sync/test/integration/two_client_bookmarks_sync_test.cc

Issue 2461463002: [Sync] Replacing NULL with nullptr/null throughout sync code. (Closed)
Patch Set: Reverted PROFILE_nullptr mistake. Created 4 years, 1 month 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 <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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 99
100 private: 100 private:
101 DISALLOW_COPY_AND_ASSIGN(LegacyTwoClientBookmarksSyncTest); 101 DISALLOW_COPY_AND_ASSIGN(LegacyTwoClientBookmarksSyncTest);
102 }; 102 };
103 103
104 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, Sanity) { 104 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, Sanity) {
105 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 105 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
106 ASSERT_TRUE(AllModelsMatchVerifier()); 106 ASSERT_TRUE(AllModelsMatchVerifier());
107 107
108 GURL google_url("http://www.google.com"); 108 GURL google_url("http://www.google.com");
109 ASSERT_TRUE(AddURL(0, "Google", google_url) != NULL); 109 ASSERT_TRUE(AddURL(0, "Google", google_url) != nullptr);
110 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 110 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
111 ASSERT_TRUE(AddURL(1, "Yahoo", GURL("http://www.yahoo.com")) != NULL); 111 ASSERT_TRUE(AddURL(1, "Yahoo", GURL("http://www.yahoo.com")) != nullptr);
112 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 112 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
113 ASSERT_TRUE(AllModelsMatchVerifier()); 113 ASSERT_TRUE(AllModelsMatchVerifier());
114 114
115 const BookmarkNode* new_folder = AddFolder(0, 2, "New Folder"); 115 const BookmarkNode* new_folder = AddFolder(0, 2, "New Folder");
116 Move(0, GetUniqueNodeByURL(0, google_url), new_folder, 0); 116 Move(0, GetUniqueNodeByURL(0, google_url), new_folder, 0);
117 SetTitle(0, GetBookmarkBarNode(0)->GetChild(0), "Yahoo!!"); 117 SetTitle(0, GetBookmarkBarNode(0)->GetChild(0), "Yahoo!!");
118 ASSERT_TRUE(AddURL(0, GetBookmarkBarNode(0), 1, "CNN", 118 ASSERT_TRUE(AddURL(0, GetBookmarkBarNode(0), 1, "CNN",
119 GURL("http://www.cnn.com")) != NULL); 119 GURL("http://www.cnn.com")) != nullptr);
120 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 120 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
121 ASSERT_TRUE(AllModelsMatchVerifier()); 121 ASSERT_TRUE(AllModelsMatchVerifier());
122 122
123 ASSERT_TRUE(AddURL(1, "Facebook", GURL("http://www.facebook.com")) != NULL); 123 ASSERT_TRUE(AddURL(1, "Facebook", GURL("http://www.facebook.com")) !=
124 nullptr);
124 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 125 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
125 ASSERT_TRUE(AllModelsMatchVerifier()); 126 ASSERT_TRUE(AllModelsMatchVerifier());
126 127
127 SortChildren(1, GetBookmarkBarNode(1)); 128 SortChildren(1, GetBookmarkBarNode(1));
128 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 129 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
129 ASSERT_TRUE(AllModelsMatchVerifier()); 130 ASSERT_TRUE(AllModelsMatchVerifier());
130 131
131 DisableVerifier(); 132 DisableVerifier();
132 SetTitle(0, GetUniqueNodeByURL(0, google_url), "Google++"); 133 SetTitle(0, GetUniqueNodeByURL(0, google_url), "Google++");
133 SetTitle(1, GetUniqueNodeByURL(1, google_url), "Google--"); 134 SetTitle(1, GetUniqueNodeByURL(1, google_url), "Google--");
134 ASSERT_TRUE(AwaitQuiescence()); 135 ASSERT_TRUE(AwaitQuiescence());
135 ASSERT_TRUE(AllModelsMatch()); 136 ASSERT_TRUE(AllModelsMatch());
136 } 137 }
137 138
138 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SimultaneousURLChanges) { 139 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SimultaneousURLChanges) {
139 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 140 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
140 ASSERT_TRUE(AllModelsMatchVerifier()); 141 ASSERT_TRUE(AllModelsMatchVerifier());
141 142
142 GURL initial_url("http://www.google.com"); 143 GURL initial_url("http://www.google.com");
143 GURL second_url("http://www.google.com/abc"); 144 GURL second_url("http://www.google.com/abc");
144 GURL third_url("http://www.google.com/def"); 145 GURL third_url("http://www.google.com/def");
145 std::string title = "Google"; 146 std::string title = "Google";
146 147
147 ASSERT_TRUE(AddURL(0, title, initial_url) != NULL); 148 ASSERT_TRUE(AddURL(0, title, initial_url) != nullptr);
148 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 149 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
149 150
150 DisableVerifier(); 151 DisableVerifier();
151 ASSERT_TRUE(SetURL( 152 ASSERT_TRUE(SetURL(0, GetUniqueNodeByURL(0, initial_url), second_url) !=
152 0, GetUniqueNodeByURL(0, initial_url), second_url) != NULL); 153 nullptr);
153 ASSERT_TRUE(SetURL( 154 ASSERT_TRUE(SetURL(1, GetUniqueNodeByURL(1, initial_url), third_url) !=
154 1, GetUniqueNodeByURL(1, initial_url), third_url) != NULL); 155 nullptr);
155 ASSERT_TRUE(AwaitQuiescence()); 156 ASSERT_TRUE(AwaitQuiescence());
156 ASSERT_TRUE(AllModelsMatch()); 157 ASSERT_TRUE(AllModelsMatch());
157 158
158 SetTitle(0, GetBookmarkBarNode(0)->GetChild(0), "Google1"); 159 SetTitle(0, GetBookmarkBarNode(0)->GetChild(0), "Google1");
159 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 160 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
160 ASSERT_TRUE(AllModelsMatch()); 161 ASSERT_TRUE(AllModelsMatch());
161 } 162 }
162 163
163 // Test Scribe ID - 370558. 164 // Test Scribe ID - 370558.
164 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstFolder) { 165 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstFolder) {
165 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 166 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
166 ASSERT_TRUE(AllModelsMatchVerifier()); 167 ASSERT_TRUE(AllModelsMatchVerifier());
167 168
168 ASSERT_TRUE(AddFolder(0, kGenericFolderName) != NULL); 169 ASSERT_TRUE(AddFolder(0, kGenericFolderName) != nullptr);
169 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 170 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
170 ASSERT_TRUE(AllModelsMatchVerifier()); 171 ASSERT_TRUE(AllModelsMatchVerifier());
171 } 172 }
172 173
173 // Test Scribe ID - 370559. 174 // Test Scribe ID - 370559.
174 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 175 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
175 SC_AddFirstBMWithoutFavicon) { 176 SC_AddFirstBMWithoutFavicon) {
176 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 177 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
177 ASSERT_TRUE(AllModelsMatchVerifier()); 178 ASSERT_TRUE(AllModelsMatchVerifier());
178 179
179 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != NULL); 180 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != nullptr);
180 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 181 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
181 ASSERT_TRUE(AllModelsMatchVerifier()); 182 ASSERT_TRUE(AllModelsMatchVerifier());
182 } 183 }
183 184
184 // Test Scribe ID - 370489. 185 // Test Scribe ID - 370489.
185 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstBMWithFavicon) { 186 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstBMWithFavicon) {
186 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 187 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
187 ASSERT_TRUE(AllModelsMatchVerifier()); 188 ASSERT_TRUE(AllModelsMatchVerifier());
188 189
189 const GURL page_url(kGenericURL); 190 const GURL page_url(kGenericURL);
190 const GURL icon_url("http://www.google.com/favicon.ico"); 191 const GURL icon_url("http://www.google.com/favicon.ico");
191 192
192 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, page_url); 193 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, page_url);
193 194
194 ASSERT_TRUE(bookmark != NULL); 195 ASSERT_TRUE(bookmark != nullptr);
195 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 196 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
196 SetFavicon(0, bookmark, icon_url, CreateFavicon(SK_ColorWHITE), 197 SetFavicon(0, bookmark, icon_url, CreateFavicon(SK_ColorWHITE),
197 bookmarks_helper::FROM_UI); 198 bookmarks_helper::FROM_UI);
198 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 199 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
199 ASSERT_TRUE(AllModelsMatchVerifier()); 200 ASSERT_TRUE(AllModelsMatchVerifier());
200 } 201 }
201 202
202 // Test that the history service logic for not losing the hidpi versions of 203 // Test that the history service logic for not losing the hidpi versions of
203 // favicons as a result of sync does not result in dropping sync updates. 204 // favicons as a result of sync does not result in dropping sync updates.
204 // In particular, the synced 16x16 favicon bitmap should overwrite 16x16 205 // In particular, the synced 16x16 favicon bitmap should overwrite 16x16
205 // favicon bitmaps on all clients. (Though non-16x16 favicon bitmaps 206 // favicon bitmaps on all clients. (Though non-16x16 favicon bitmaps
206 // are unchanged). 207 // are unchanged).
207 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SetFaviconHiDPI) { 208 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SetFaviconHiDPI) {
208 // Set the supported scale factors to include 2x such that CreateFavicon() 209 // Set the supported scale factors to include 2x such that CreateFavicon()
209 // creates a favicon with hidpi representations and that methods in the 210 // creates a favicon with hidpi representations and that methods in the
210 // FaviconService request hidpi favicons. 211 // FaviconService request hidpi favicons.
211 std::vector<ui::ScaleFactor> supported_scale_factors; 212 std::vector<ui::ScaleFactor> supported_scale_factors;
212 supported_scale_factors.push_back(ui::SCALE_FACTOR_100P); 213 supported_scale_factors.push_back(ui::SCALE_FACTOR_100P);
213 supported_scale_factors.push_back(ui::SCALE_FACTOR_200P); 214 supported_scale_factors.push_back(ui::SCALE_FACTOR_200P);
214 ui::SetSupportedScaleFactors(supported_scale_factors); 215 ui::SetSupportedScaleFactors(supported_scale_factors);
215 216
216 const GURL page_url(kGenericURL); 217 const GURL page_url(kGenericURL);
217 const GURL icon_url1("http://www.google.com/favicon1.ico"); 218 const GURL icon_url1("http://www.google.com/favicon1.ico");
218 const GURL icon_url2("http://www.google.com/favicon2.ico"); 219 const GURL icon_url2("http://www.google.com/favicon2.ico");
219 220
220 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 221 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
221 ASSERT_TRUE(AllModelsMatchVerifier()); 222 ASSERT_TRUE(AllModelsMatchVerifier());
222 223
223 const BookmarkNode* bookmark0 = AddURL(0, kGenericURLTitle, page_url); 224 const BookmarkNode* bookmark0 = AddURL(0, kGenericURLTitle, page_url);
224 ASSERT_TRUE(bookmark0 != NULL); 225 ASSERT_TRUE(bookmark0 != nullptr);
225 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 226 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
226 SetFavicon(0, bookmark0, icon_url1, CreateFavicon(SK_ColorWHITE), 227 SetFavicon(0, bookmark0, icon_url1, CreateFavicon(SK_ColorWHITE),
227 bookmarks_helper::FROM_UI); 228 bookmarks_helper::FROM_UI);
228 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 229 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
229 ASSERT_TRUE(AllModelsMatchVerifier()); 230 ASSERT_TRUE(AllModelsMatchVerifier());
230 231
231 const BookmarkNode* bookmark1 = GetUniqueNodeByURL(1, page_url); 232 const BookmarkNode* bookmark1 = GetUniqueNodeByURL(1, page_url);
232 SetFavicon(1, bookmark1, icon_url1, CreateFavicon(SK_ColorBLUE), 233 SetFavicon(1, bookmark1, icon_url1, CreateFavicon(SK_ColorBLUE),
233 bookmarks_helper::FROM_UI); 234 bookmarks_helper::FROM_UI);
234 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 235 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 SetTitle(1, bookmark11, std::string(kNewTitle)); 329 SetTitle(1, bookmark11, std::string(kNewTitle));
329 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 330 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
330 ASSERT_TRUE(AllModelsMatchVerifier()); 331 ASSERT_TRUE(AllModelsMatchVerifier());
331 } 332 }
332 333
333 // Test Scribe ID - 370560. 334 // Test Scribe ID - 370560.
334 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddNonHTTPBMs) { 335 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddNonHTTPBMs) {
335 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 336 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
336 ASSERT_TRUE(AllModelsMatchVerifier()); 337 ASSERT_TRUE(AllModelsMatchVerifier());
337 338
338 ASSERT_TRUE(AddURL( 339 ASSERT_TRUE(AddURL(0, "FTP UR", GURL("ftp://user:password@host:1234/path")) !=
339 0, "FTP UR", GURL("ftp://user:password@host:1234/path")) != NULL); 340 nullptr);
340 ASSERT_TRUE(AddURL(0, "File UR", GURL("file://host/path")) != NULL); 341 ASSERT_TRUE(AddURL(0, "File UR", GURL("file://host/path")) != nullptr);
341 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 342 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
342 ASSERT_TRUE(AllModelsMatchVerifier()); 343 ASSERT_TRUE(AllModelsMatchVerifier());
343 } 344 }
344 345
345 // Test Scribe ID - 370561. 346 // Test Scribe ID - 370561.
346 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 347 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
347 SC_AddFirstBMUnderFolder) { 348 SC_AddFirstBMUnderFolder) {
348 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 349 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
349 ASSERT_TRUE(AllModelsMatchVerifier()); 350 ASSERT_TRUE(AllModelsMatchVerifier());
350 351
351 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 352 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
352 ASSERT_TRUE(folder != NULL); 353 ASSERT_TRUE(folder != nullptr);
353 ASSERT_TRUE(AddURL( 354 ASSERT_TRUE(AddURL(0, folder, 0, kGenericURLTitle, GURL(kGenericURL)) !=
354 0, folder, 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); 355 nullptr);
355 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 356 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
356 ASSERT_TRUE(AllModelsMatchVerifier()); 357 ASSERT_TRUE(AllModelsMatchVerifier());
357 } 358 }
358 359
359 // Test Scribe ID - 370562. 360 // Test Scribe ID - 370562.
360 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 361 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
361 SC_AddSeveralBMsUnderBMBarAndOtherBM) { 362 SC_AddSeveralBMsUnderBMBarAndOtherBM) {
362 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 363 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
363 ASSERT_TRUE(AllModelsMatchVerifier()); 364 ASSERT_TRUE(AllModelsMatchVerifier());
364 365
365 for (int i = 0; i < 20; ++i) { 366 for (int i = 0; i < 20; ++i) {
366 std::string title = IndexedURLTitle(i); 367 std::string title = IndexedURLTitle(i);
367 GURL url = GURL(IndexedURL(i)); 368 GURL url = GURL(IndexedURL(i));
368 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 369 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
369 ASSERT_TRUE(AddURL( 370 ASSERT_TRUE(AddURL(0, GetOtherNode(0), i, title, url) != nullptr);
370 0, GetOtherNode(0), i, title, url) != NULL);
371 } 371 }
372 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 372 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
373 ASSERT_TRUE(AllModelsMatchVerifier()); 373 ASSERT_TRUE(AllModelsMatchVerifier());
374 } 374 }
375 375
376 // Test Scribe ID - 370563. 376 // Test Scribe ID - 370563.
377 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 377 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
378 SC_AddSeveralBMsAndFolders) { 378 SC_AddSeveralBMsAndFolders) {
379 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 379 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
380 ASSERT_TRUE(AllModelsMatchVerifier()); 380 ASSERT_TRUE(AllModelsMatchVerifier());
381 381
382 for (int i = 0; i < 15; ++i) { 382 for (int i = 0; i < 15; ++i) {
383 if (base::RandDouble() > 0.6) { 383 if (base::RandDouble() > 0.6) {
384 std::string title = IndexedURLTitle(i); 384 std::string title = IndexedURLTitle(i);
385 GURL url = GURL(IndexedURL(i)); 385 GURL url = GURL(IndexedURL(i));
386 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 386 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
387 } else { 387 } else {
388 std::string title = IndexedFolderName(i); 388 std::string title = IndexedFolderName(i);
389 const BookmarkNode* folder = AddFolder(0, i, title); 389 const BookmarkNode* folder = AddFolder(0, i, title);
390 ASSERT_TRUE(folder != NULL); 390 ASSERT_TRUE(folder != nullptr);
391 if (base::RandDouble() > 0.4) { 391 if (base::RandDouble() > 0.4) {
392 for (int i = 0; i < 20; ++i) { 392 for (int i = 0; i < 20; ++i) {
393 std::string title = IndexedURLTitle(i); 393 std::string title = IndexedURLTitle(i);
394 GURL url = GURL(IndexedURL(i)); 394 GURL url = GURL(IndexedURL(i));
395 ASSERT_TRUE( 395 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
396 AddURL(0, folder, i, title, url) != NULL);
397 } 396 }
398 } 397 }
399 } 398 }
400 } 399 }
401 for (int i = 0; i < 10; i++) { 400 for (int i = 0; i < 10; i++) {
402 std::string title = IndexedURLTitle(i); 401 std::string title = IndexedURLTitle(i);
403 GURL url = GURL(IndexedURL(i)); 402 GURL url = GURL(IndexedURL(i));
404 ASSERT_TRUE(AddURL(0, GetOtherNode(0), i, title, url) != NULL); 403 ASSERT_TRUE(AddURL(0, GetOtherNode(0), i, title, url) != nullptr);
405 } 404 }
406 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 405 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
407 ASSERT_TRUE(AllModelsMatchVerifier()); 406 ASSERT_TRUE(AllModelsMatchVerifier());
408 } 407 }
409 408
410 // Test Scribe ID - 370641. 409 // Test Scribe ID - 370641.
411 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 410 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
412 SC_DuplicateBMWithDifferentURLSameName) { 411 SC_DuplicateBMWithDifferentURLSameName) {
413 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 412 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
414 ASSERT_TRUE(AllModelsMatchVerifier()); 413 ASSERT_TRUE(AllModelsMatchVerifier());
415 414
416 GURL url0 = GURL(IndexedURL(0)); 415 GURL url0 = GURL(IndexedURL(0));
417 GURL url1 = GURL(IndexedURL(1)); 416 GURL url1 = GURL(IndexedURL(1));
418 ASSERT_TRUE(AddURL(0, kGenericURLTitle, url0) != NULL); 417 ASSERT_TRUE(AddURL(0, kGenericURLTitle, url0) != nullptr);
419 ASSERT_TRUE(AddURL(0, kGenericURLTitle, url1) != NULL); 418 ASSERT_TRUE(AddURL(0, kGenericURLTitle, url1) != nullptr);
420 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 419 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
421 ASSERT_TRUE(AllModelsMatchVerifier()); 420 ASSERT_TRUE(AllModelsMatchVerifier());
422 } 421 }
423 422
424 // Test Scribe ID - 370639 - Add bookmarks with different name and same URL. 423 // Test Scribe ID - 370639 - Add bookmarks with different name and same URL.
425 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 424 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
426 SC_DuplicateBookmarksWithSameURL) { 425 SC_DuplicateBookmarksWithSameURL) {
427 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 426 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
428 ASSERT_TRUE(AllModelsMatchVerifier()); 427 ASSERT_TRUE(AllModelsMatchVerifier());
429 428
430 std::string title0 = IndexedURLTitle(0); 429 std::string title0 = IndexedURLTitle(0);
431 std::string title1 = IndexedURLTitle(1); 430 std::string title1 = IndexedURLTitle(1);
432 ASSERT_TRUE(AddURL(0, title0, GURL(kGenericURL)) != NULL); 431 ASSERT_TRUE(AddURL(0, title0, GURL(kGenericURL)) != nullptr);
433 ASSERT_TRUE(AddURL(0, title1, GURL(kGenericURL)) != NULL); 432 ASSERT_TRUE(AddURL(0, title1, GURL(kGenericURL)) != nullptr);
434 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 433 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
435 ASSERT_TRUE(AllModelsMatchVerifier()); 434 ASSERT_TRUE(AllModelsMatchVerifier());
436 } 435 }
437 436
438 // Test Scribe ID - 371817. 437 // Test Scribe ID - 371817.
439 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMName) { 438 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMName) {
440 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 439 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
441 ASSERT_TRUE(AllModelsMatchVerifier()); 440 ASSERT_TRUE(AllModelsMatchVerifier());
442 441
443 std::string title = IndexedURLTitle(1); 442 std::string title = IndexedURLTitle(1);
444 const BookmarkNode* bookmark = AddURL(0, title, GURL(kGenericURL)); 443 const BookmarkNode* bookmark = AddURL(0, title, GURL(kGenericURL));
445 ASSERT_TRUE(bookmark != NULL); 444 ASSERT_TRUE(bookmark != nullptr);
446 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 445 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
447 ASSERT_TRUE(AllModelsMatchVerifier()); 446 ASSERT_TRUE(AllModelsMatchVerifier());
448 447
449 std::string new_title = IndexedURLTitle(2); 448 std::string new_title = IndexedURLTitle(2);
450 SetTitle(0, bookmark, new_title); 449 SetTitle(0, bookmark, new_title);
451 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 450 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
452 ASSERT_TRUE(AllModelsMatchVerifier()); 451 ASSERT_TRUE(AllModelsMatchVerifier());
453 } 452 }
454 453
455 // Test Scribe ID - 371822. 454 // Test Scribe ID - 371822.
456 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMURL) { 455 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMURL) {
457 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 456 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
458 ASSERT_TRUE(AllModelsMatchVerifier()); 457 ASSERT_TRUE(AllModelsMatchVerifier());
459 458
460 GURL url = GURL(IndexedURL(1)); 459 GURL url = GURL(IndexedURL(1));
461 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, url); 460 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, url);
462 ASSERT_TRUE(bookmark != NULL); 461 ASSERT_TRUE(bookmark != nullptr);
463 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 462 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
464 ASSERT_TRUE(AllModelsMatchVerifier()); 463 ASSERT_TRUE(AllModelsMatchVerifier());
465 464
466 GURL new_url = GURL(IndexedURL(2)); 465 GURL new_url = GURL(IndexedURL(2));
467 ASSERT_TRUE(SetURL(0, bookmark, new_url) != NULL); 466 ASSERT_TRUE(SetURL(0, bookmark, new_url) != nullptr);
468 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 467 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
469 ASSERT_TRUE(AllModelsMatchVerifier()); 468 ASSERT_TRUE(AllModelsMatchVerifier());
470 } 469 }
471 470
472 471
473 // Test Scribe ID - 371818 - Renaming the same bookmark name twice. 472 // Test Scribe ID - 371818 - Renaming the same bookmark name twice.
474 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 473 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
475 SC_TwiceRenamingBookmarkName) { 474 SC_TwiceRenamingBookmarkName) {
476 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 475 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
477 ASSERT_TRUE(AllModelsMatchVerifier()); 476 ASSERT_TRUE(AllModelsMatchVerifier());
478 477
479 std::string title = IndexedURLTitle(1); 478 std::string title = IndexedURLTitle(1);
480 const BookmarkNode* bookmark = AddURL(0, title, GURL(kGenericURL)); 479 const BookmarkNode* bookmark = AddURL(0, title, GURL(kGenericURL));
481 ASSERT_TRUE(bookmark != NULL); 480 ASSERT_TRUE(bookmark != nullptr);
482 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 481 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
483 ASSERT_TRUE(AllModelsMatchVerifier()); 482 ASSERT_TRUE(AllModelsMatchVerifier());
484 483
485 std::string new_title = IndexedURLTitle(2); 484 std::string new_title = IndexedURLTitle(2);
486 SetTitle(0, bookmark, new_title); 485 SetTitle(0, bookmark, new_title);
487 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 486 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
488 ASSERT_TRUE(AllModelsMatchVerifier()); 487 ASSERT_TRUE(AllModelsMatchVerifier());
489 488
490 SetTitle(0, bookmark, title); 489 SetTitle(0, bookmark, title);
491 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 490 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
492 ASSERT_TRUE(AllModelsMatchVerifier()); 491 ASSERT_TRUE(AllModelsMatchVerifier());
493 } 492 }
494 493
495 // Test Scribe ID - 371823 - Renaming the same bookmark URL twice. 494 // Test Scribe ID - 371823 - Renaming the same bookmark URL twice.
496 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 495 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
497 SC_TwiceRenamingBookmarkURL) { 496 SC_TwiceRenamingBookmarkURL) {
498 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 497 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
499 ASSERT_TRUE(AllModelsMatchVerifier()); 498 ASSERT_TRUE(AllModelsMatchVerifier());
500 499
501 GURL url = GURL(IndexedURL(1)); 500 GURL url = GURL(IndexedURL(1));
502 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, url); 501 const BookmarkNode* bookmark = AddURL(0, kGenericURLTitle, url);
503 ASSERT_TRUE(bookmark != NULL); 502 ASSERT_TRUE(bookmark != nullptr);
504 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 503 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
505 ASSERT_TRUE(AllModelsMatchVerifier()); 504 ASSERT_TRUE(AllModelsMatchVerifier());
506 505
507 GURL new_url = GURL(IndexedURL(2)); 506 GURL new_url = GURL(IndexedURL(2));
508 ASSERT_TRUE(SetURL(0, bookmark, new_url) != NULL); 507 ASSERT_TRUE(SetURL(0, bookmark, new_url) != nullptr);
509 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 508 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
510 ASSERT_TRUE(AllModelsMatchVerifier()); 509 ASSERT_TRUE(AllModelsMatchVerifier());
511 510
512 ASSERT_TRUE(SetURL(0, bookmark, url) != NULL); 511 ASSERT_TRUE(SetURL(0, bookmark, url) != nullptr);
513 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 512 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
514 ASSERT_TRUE(AllModelsMatchVerifier()); 513 ASSERT_TRUE(AllModelsMatchVerifier());
515 } 514 }
516 515
517 // Test Scribe ID - 371824. 516 // Test Scribe ID - 371824.
518 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMFolder) { 517 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMFolder) {
519 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 518 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
520 ASSERT_TRUE(AllModelsMatchVerifier()); 519 ASSERT_TRUE(AllModelsMatchVerifier());
521 520
522 std::string title = IndexedFolderName(1); 521 std::string title = IndexedFolderName(1);
523 const BookmarkNode* folder = AddFolder(0, title); 522 const BookmarkNode* folder = AddFolder(0, title);
524 ASSERT_TRUE(AddURL( 523 ASSERT_TRUE(AddURL(0, folder, 0, kGenericURLTitle, GURL(kGenericURL)) !=
525 0, folder, 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); 524 nullptr);
526 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 525 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
527 ASSERT_TRUE(AllModelsMatchVerifier()); 526 ASSERT_TRUE(AllModelsMatchVerifier());
528 527
529 std::string new_title = IndexedFolderName(2); 528 std::string new_title = IndexedFolderName(2);
530 SetTitle(0, folder, new_title); 529 SetTitle(0, folder, new_title);
531 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 530 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
532 ASSERT_TRUE(AllModelsMatchVerifier()); 531 ASSERT_TRUE(AllModelsMatchVerifier());
533 } 532 }
534 533
535 // Test Scribe ID - 371825. 534 // Test Scribe ID - 371825.
(...skipping 13 matching lines...) Expand all
549 } 548 }
550 549
551 // Test Scribe ID - 371826. 550 // Test Scribe ID - 371826.
552 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 551 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
553 SC_RenameBMFolderWithLongHierarchy) { 552 SC_RenameBMFolderWithLongHierarchy) {
554 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 553 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
555 ASSERT_TRUE(AllModelsMatchVerifier()); 554 ASSERT_TRUE(AllModelsMatchVerifier());
556 555
557 std::string title = IndexedFolderName(1); 556 std::string title = IndexedFolderName(1);
558 const BookmarkNode* folder = AddFolder(0, title); 557 const BookmarkNode* folder = AddFolder(0, title);
559 ASSERT_TRUE(folder != NULL); 558 ASSERT_TRUE(folder != nullptr);
560 for (int i = 0; i < 120; ++i) { 559 for (int i = 0; i < 120; ++i) {
561 if (base::RandDouble() > 0.15) { 560 if (base::RandDouble() > 0.15) {
562 std::string title = IndexedURLTitle(i); 561 std::string title = IndexedURLTitle(i);
563 GURL url = GURL(IndexedURL(i)); 562 GURL url = GURL(IndexedURL(i));
564 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 563 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
565 } else { 564 } else {
566 std::string title = IndexedSubfolderName(i); 565 std::string title = IndexedSubfolderName(i);
567 ASSERT_TRUE(AddFolder(0, folder, i, title) != NULL); 566 ASSERT_TRUE(AddFolder(0, folder, i, title) != nullptr);
568 } 567 }
569 } 568 }
570 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 569 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
571 ASSERT_TRUE(AllModelsMatchVerifier()); 570 ASSERT_TRUE(AllModelsMatchVerifier());
572 571
573 std::string new_title = IndexedFolderName(2); 572 std::string new_title = IndexedFolderName(2);
574 SetTitle(0, folder, new_title); 573 SetTitle(0, folder, new_title);
575 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 574 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
576 ASSERT_TRUE(AllModelsMatchVerifier()); 575 ASSERT_TRUE(AllModelsMatchVerifier());
577 } 576 }
578 577
579 // Test Scribe ID - 371827. 578 // Test Scribe ID - 371827.
580 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 579 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
581 SC_RenameBMFolderThatHasParentAndChildren) { 580 SC_RenameBMFolderThatHasParentAndChildren) {
582 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 581 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
583 ASSERT_TRUE(AllModelsMatchVerifier()); 582 ASSERT_TRUE(AllModelsMatchVerifier());
584 583
585 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 584 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
586 ASSERT_TRUE(folder != NULL); 585 ASSERT_TRUE(folder != nullptr);
587 for (int i = 1; i < 15; ++i) { 586 for (int i = 1; i < 15; ++i) {
588 std::string title = IndexedURLTitle(i); 587 std::string title = IndexedURLTitle(i);
589 GURL url = GURL(IndexedURL(i)); 588 GURL url = GURL(IndexedURL(i));
590 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 589 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
591 } 590 }
592 std::string title = IndexedSubfolderName(1); 591 std::string title = IndexedSubfolderName(1);
593 const BookmarkNode* subfolder = AddFolder(0, folder, 0, title); 592 const BookmarkNode* subfolder = AddFolder(0, folder, 0, title);
594 for (int i = 0; i < 120; ++i) { 593 for (int i = 0; i < 120; ++i) {
595 if (base::RandDouble() > 0.15) { 594 if (base::RandDouble() > 0.15) {
596 std::string title = IndexedURLTitle(i); 595 std::string title = IndexedURLTitle(i);
597 GURL url = GURL(IndexedURL(i)); 596 GURL url = GURL(IndexedURL(i));
598 ASSERT_TRUE(AddURL(0, subfolder, i, title, url) != NULL); 597 ASSERT_TRUE(AddURL(0, subfolder, i, title, url) != nullptr);
599 } else { 598 } else {
600 std::string title = IndexedSubsubfolderName(i); 599 std::string title = IndexedSubsubfolderName(i);
601 ASSERT_TRUE(AddFolder(0, subfolder, i, title) != NULL); 600 ASSERT_TRUE(AddFolder(0, subfolder, i, title) != nullptr);
602 } 601 }
603 } 602 }
604 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 603 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
605 ASSERT_TRUE(AllModelsMatchVerifier()); 604 ASSERT_TRUE(AllModelsMatchVerifier());
606 605
607 std::string new_title = IndexedSubfolderName(2); 606 std::string new_title = IndexedSubfolderName(2);
608 SetTitle(0, subfolder, new_title); 607 SetTitle(0, subfolder, new_title);
609 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 608 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
610 ASSERT_TRUE(AllModelsMatchVerifier()); 609 ASSERT_TRUE(AllModelsMatchVerifier());
611 } 610 }
612 611
613 // Test Scribe ID - 371828. 612 // Test Scribe ID - 371828.
614 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMNameAndURL) { 613 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMNameAndURL) {
615 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 614 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
616 ASSERT_TRUE(AllModelsMatchVerifier()); 615 ASSERT_TRUE(AllModelsMatchVerifier());
617 616
618 GURL url = GURL(IndexedURL(1)); 617 GURL url = GURL(IndexedURL(1));
619 std::string title = IndexedURLTitle(1); 618 std::string title = IndexedURLTitle(1);
620 const BookmarkNode* bookmark = AddURL(0, title, url); 619 const BookmarkNode* bookmark = AddURL(0, title, url);
621 ASSERT_TRUE(bookmark != NULL); 620 ASSERT_TRUE(bookmark != nullptr);
622 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 621 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
623 ASSERT_TRUE(AllModelsMatchVerifier()); 622 ASSERT_TRUE(AllModelsMatchVerifier());
624 623
625 GURL new_url = GURL(IndexedURL(2)); 624 GURL new_url = GURL(IndexedURL(2));
626 std::string new_title = IndexedURLTitle(2); 625 std::string new_title = IndexedURLTitle(2);
627 bookmark = SetURL(0, bookmark, new_url); 626 bookmark = SetURL(0, bookmark, new_url);
628 ASSERT_TRUE(bookmark != NULL); 627 ASSERT_TRUE(bookmark != nullptr);
629 SetTitle(0, bookmark, new_title); 628 SetTitle(0, bookmark, new_title);
630 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 629 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
631 ASSERT_TRUE(AllModelsMatchVerifier()); 630 ASSERT_TRUE(AllModelsMatchVerifier());
632 } 631 }
633 632
634 // Test Scribe ID - 371832. 633 // Test Scribe ID - 371832.
635 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 634 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
636 SC_DeleteBMEmptyAccountAfterwards) { 635 SC_DeleteBMEmptyAccountAfterwards) {
637 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 636 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
638 ASSERT_TRUE(AllModelsMatchVerifier()); 637 ASSERT_TRUE(AllModelsMatchVerifier());
639 638
640 ASSERT_TRUE(AddURL( 639 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != nullptr);
641 0, kGenericURLTitle, GURL(kGenericURL)) != NULL);
642 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 640 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
643 ASSERT_TRUE(AllModelsMatchVerifier()); 641 ASSERT_TRUE(AllModelsMatchVerifier());
644 642
645 Remove(0, GetBookmarkBarNode(0), 0); 643 Remove(0, GetBookmarkBarNode(0), 0);
646 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 644 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
647 ASSERT_TRUE(AllModelsMatchVerifier()); 645 ASSERT_TRUE(AllModelsMatchVerifier());
648 } 646 }
649 647
650 // Test Scribe ID - 371833. 648 // Test Scribe ID - 371833.
651 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 649 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
652 SC_DelBMNonEmptyAccountAfterwards) { 650 SC_DelBMNonEmptyAccountAfterwards) {
653 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 651 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
654 ASSERT_TRUE(AllModelsMatchVerifier()); 652 ASSERT_TRUE(AllModelsMatchVerifier());
655 653
656 for (int i = 0; i < 20; ++i) { 654 for (int i = 0; i < 20; ++i) {
657 std::string title = IndexedURLTitle(i); 655 std::string title = IndexedURLTitle(i);
658 GURL url = GURL(IndexedURL(i)); 656 GURL url = GURL(IndexedURL(i));
659 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 657 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
660 } 658 }
661 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 659 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
662 ASSERT_TRUE(AllModelsMatchVerifier()); 660 ASSERT_TRUE(AllModelsMatchVerifier());
663 661
664 Remove(0, GetBookmarkBarNode(0), 0); 662 Remove(0, GetBookmarkBarNode(0), 0);
665 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 663 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
666 ASSERT_TRUE(AllModelsMatchVerifier()); 664 ASSERT_TRUE(AllModelsMatchVerifier());
667 } 665 }
668 666
669 // Test Scribe ID - 371835. 667 // Test Scribe ID - 371835.
670 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 668 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
671 SC_DelFirstBMUnderBMFoldNonEmptyFoldAfterwards) { 669 SC_DelFirstBMUnderBMFoldNonEmptyFoldAfterwards) {
672 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 670 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
673 ASSERT_TRUE(AllModelsMatchVerifier()); 671 ASSERT_TRUE(AllModelsMatchVerifier());
674 672
675 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 673 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
676 ASSERT_TRUE(folder != NULL); 674 ASSERT_TRUE(folder != nullptr);
677 for (int i = 0; i < 10; ++i) { 675 for (int i = 0; i < 10; ++i) {
678 std::string title = IndexedURLTitle(i); 676 std::string title = IndexedURLTitle(i);
679 GURL url = GURL(IndexedURL(i)); 677 GURL url = GURL(IndexedURL(i));
680 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 678 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
681 } 679 }
682 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 680 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
683 ASSERT_TRUE(AllModelsMatchVerifier()); 681 ASSERT_TRUE(AllModelsMatchVerifier());
684 682
685 Remove(0, folder, 0); 683 Remove(0, folder, 0);
686 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 684 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
687 ASSERT_TRUE(AllModelsMatchVerifier()); 685 ASSERT_TRUE(AllModelsMatchVerifier());
688 } 686 }
689 687
690 // Test Scribe ID - 371836. 688 // Test Scribe ID - 371836.
691 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 689 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
692 SC_DelLastBMUnderBMFoldNonEmptyFoldAfterwards) { 690 SC_DelLastBMUnderBMFoldNonEmptyFoldAfterwards) {
693 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 691 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
694 ASSERT_TRUE(AllModelsMatchVerifier()); 692 ASSERT_TRUE(AllModelsMatchVerifier());
695 693
696 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 694 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
697 ASSERT_TRUE(folder != NULL); 695 ASSERT_TRUE(folder != nullptr);
698 for (int i = 0; i < 10; ++i) { 696 for (int i = 0; i < 10; ++i) {
699 std::string title = IndexedURLTitle(i); 697 std::string title = IndexedURLTitle(i);
700 GURL url = GURL(IndexedURL(i)); 698 GURL url = GURL(IndexedURL(i));
701 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 699 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
702 } 700 }
703 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 701 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
704 ASSERT_TRUE(AllModelsMatchVerifier()); 702 ASSERT_TRUE(AllModelsMatchVerifier());
705 703
706 Remove(0, folder, folder->child_count() - 1); 704 Remove(0, folder, folder->child_count() - 1);
707 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 705 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
708 ASSERT_TRUE(AllModelsMatchVerifier()); 706 ASSERT_TRUE(AllModelsMatchVerifier());
709 } 707 }
710 708
711 // Test Scribe ID - 371856. 709 // Test Scribe ID - 371856.
712 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 710 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
713 SC_DelMiddleBMUnderBMFoldNonEmptyFoldAfterwards) { 711 SC_DelMiddleBMUnderBMFoldNonEmptyFoldAfterwards) {
714 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 712 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
715 ASSERT_TRUE(AllModelsMatchVerifier()); 713 ASSERT_TRUE(AllModelsMatchVerifier());
716 714
717 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 715 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
718 ASSERT_TRUE(folder != NULL); 716 ASSERT_TRUE(folder != nullptr);
719 for (int i = 0; i < 10; ++i) { 717 for (int i = 0; i < 10; ++i) {
720 std::string title = IndexedURLTitle(i); 718 std::string title = IndexedURLTitle(i);
721 GURL url = GURL(IndexedURL(i)); 719 GURL url = GURL(IndexedURL(i));
722 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 720 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
723 } 721 }
724 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 722 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
725 ASSERT_TRUE(AllModelsMatchVerifier()); 723 ASSERT_TRUE(AllModelsMatchVerifier());
726 724
727 Remove(0, folder, 4); 725 Remove(0, folder, 4);
728 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 726 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
729 ASSERT_TRUE(AllModelsMatchVerifier()); 727 ASSERT_TRUE(AllModelsMatchVerifier());
730 } 728 }
731 729
732 // Test Scribe ID - 371857. 730 // Test Scribe ID - 371857.
733 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 731 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
734 SC_DelBMsUnderBMFoldEmptyFolderAfterwards) { 732 SC_DelBMsUnderBMFoldEmptyFolderAfterwards) {
735 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 733 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
736 ASSERT_TRUE(AllModelsMatchVerifier()); 734 ASSERT_TRUE(AllModelsMatchVerifier());
737 735
738 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 736 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
739 ASSERT_TRUE(folder != NULL); 737 ASSERT_TRUE(folder != nullptr);
740 for (int i = 0; i < 10; ++i) { 738 for (int i = 0; i < 10; ++i) {
741 std::string title = IndexedURLTitle(i); 739 std::string title = IndexedURLTitle(i);
742 GURL url = GURL(IndexedURL(i)); 740 GURL url = GURL(IndexedURL(i));
743 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 741 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
744 } 742 }
745 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 743 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
746 ASSERT_TRUE(AllModelsMatchVerifier()); 744 ASSERT_TRUE(AllModelsMatchVerifier());
747 745
748 int child_count = folder->child_count(); 746 int child_count = folder->child_count();
749 for (int i = 0; i < child_count; ++i) { 747 for (int i = 0; i < child_count; ++i) {
750 Remove(0, folder, 0); 748 Remove(0, folder, 0);
751 } 749 }
752 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 750 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
753 ASSERT_TRUE(AllModelsMatchVerifier()); 751 ASSERT_TRUE(AllModelsMatchVerifier());
754 } 752 }
755 753
756 // Test Scribe ID - 371858. 754 // Test Scribe ID - 371858.
757 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 755 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
758 SC_DelEmptyBMFoldEmptyAccountAfterwards) { 756 SC_DelEmptyBMFoldEmptyAccountAfterwards) {
759 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 757 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
760 ASSERT_TRUE(AllModelsMatchVerifier()); 758 ASSERT_TRUE(AllModelsMatchVerifier());
761 759
762 ASSERT_TRUE(AddFolder(0, kGenericFolderName) != NULL); 760 ASSERT_TRUE(AddFolder(0, kGenericFolderName) != nullptr);
763 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 761 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
764 ASSERT_TRUE(AllModelsMatchVerifier()); 762 ASSERT_TRUE(AllModelsMatchVerifier());
765 763
766 Remove(0, GetBookmarkBarNode(0), 0); 764 Remove(0, GetBookmarkBarNode(0), 0);
767 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 765 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
768 ASSERT_TRUE(AllModelsMatchVerifier()); 766 ASSERT_TRUE(AllModelsMatchVerifier());
769 } 767 }
770 768
771 // Test Scribe ID - 371869. 769 // Test Scribe ID - 371869.
772 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 770 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
773 SC_DelEmptyBMFoldNonEmptyAccountAfterwards) { 771 SC_DelEmptyBMFoldNonEmptyAccountAfterwards) {
774 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 772 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
775 ASSERT_TRUE(AllModelsMatchVerifier()); 773 ASSERT_TRUE(AllModelsMatchVerifier());
776 774
777 ASSERT_TRUE(AddFolder(0, kGenericFolderName) != NULL); 775 ASSERT_TRUE(AddFolder(0, kGenericFolderName) != nullptr);
778 for (int i = 1; i < 15; ++i) { 776 for (int i = 1; i < 15; ++i) {
779 if (base::RandDouble() > 0.6) { 777 if (base::RandDouble() > 0.6) {
780 std::string title = IndexedURLTitle(i); 778 std::string title = IndexedURLTitle(i);
781 GURL url = GURL(IndexedURL(i)); 779 GURL url = GURL(IndexedURL(i));
782 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 780 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
783 } else { 781 } else {
784 std::string title = IndexedFolderName(i); 782 std::string title = IndexedFolderName(i);
785 ASSERT_TRUE(AddFolder(0, i, title) != NULL); 783 ASSERT_TRUE(AddFolder(0, i, title) != nullptr);
786 } 784 }
787 } 785 }
788 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 786 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
789 ASSERT_TRUE(AllModelsMatchVerifier()); 787 ASSERT_TRUE(AllModelsMatchVerifier());
790 788
791 Remove(0, GetBookmarkBarNode(0), 0); 789 Remove(0, GetBookmarkBarNode(0), 0);
792 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 790 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
793 ASSERT_TRUE(AllModelsMatchVerifier()); 791 ASSERT_TRUE(AllModelsMatchVerifier());
794 } 792 }
795 793
796 // Test Scribe ID - 371879. 794 // Test Scribe ID - 371879.
797 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 795 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
798 SC_DelBMFoldWithBMsNonEmptyAccountAfterwards) { 796 SC_DelBMFoldWithBMsNonEmptyAccountAfterwards) {
799 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 797 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
800 ASSERT_TRUE(AllModelsMatchVerifier()); 798 ASSERT_TRUE(AllModelsMatchVerifier());
801 799
802 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != NULL); 800 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != nullptr);
803 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName); 801 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName);
804 ASSERT_TRUE(folder != NULL); 802 ASSERT_TRUE(folder != nullptr);
805 for (int i = 2; i < 10; ++i) { 803 for (int i = 2; i < 10; ++i) {
806 if (base::RandDouble() > 0.6) { 804 if (base::RandDouble() > 0.6) {
807 std::string title = IndexedURLTitle(i); 805 std::string title = IndexedURLTitle(i);
808 GURL url = GURL(IndexedURL(i)); 806 GURL url = GURL(IndexedURL(i));
809 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 807 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
810 } else { 808 } else {
811 std::string title = IndexedFolderName(i); 809 std::string title = IndexedFolderName(i);
812 ASSERT_TRUE(AddFolder(0, i, title) != NULL); 810 ASSERT_TRUE(AddFolder(0, i, title) != nullptr);
813 } 811 }
814 } 812 }
815 for (int i = 0; i < 15; ++i) { 813 for (int i = 0; i < 15; ++i) {
816 std::string title = IndexedURLTitle(i); 814 std::string title = IndexedURLTitle(i);
817 GURL url = GURL(IndexedURL(i)); 815 GURL url = GURL(IndexedURL(i));
818 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 816 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
819 } 817 }
820 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 818 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
821 ASSERT_TRUE(AllModelsMatchVerifier()); 819 ASSERT_TRUE(AllModelsMatchVerifier());
822 820
823 Remove(0, GetBookmarkBarNode(0), 1); 821 Remove(0, GetBookmarkBarNode(0), 1);
824 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 822 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
825 ASSERT_TRUE(AllModelsMatchVerifier()); 823 ASSERT_TRUE(AllModelsMatchVerifier());
826 } 824 }
827 825
828 // Test Scribe ID - 371880. 826 // Test Scribe ID - 371880.
829 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 827 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
830 SC_DelBMFoldWithBMsAndBMFoldsNonEmptyACAfterwards) { 828 SC_DelBMFoldWithBMsAndBMFoldsNonEmptyACAfterwards) {
831 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 829 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
832 ASSERT_TRUE(AllModelsMatchVerifier()); 830 ASSERT_TRUE(AllModelsMatchVerifier());
833 831
834 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != NULL); 832 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != nullptr);
835 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName); 833 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName);
836 ASSERT_TRUE(folder != NULL); 834 ASSERT_TRUE(folder != nullptr);
837 for (int i = 2; i < 10; ++i) { 835 for (int i = 2; i < 10; ++i) {
838 if (base::RandDouble() > 0.6) { 836 if (base::RandDouble() > 0.6) {
839 std::string title = IndexedURLTitle(i); 837 std::string title = IndexedURLTitle(i);
840 GURL url = GURL(IndexedURL(i)); 838 GURL url = GURL(IndexedURL(i));
841 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 839 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
842 } else { 840 } else {
843 std::string title = IndexedFolderName(i); 841 std::string title = IndexedFolderName(i);
844 ASSERT_TRUE(AddFolder(0, i, title) != NULL); 842 ASSERT_TRUE(AddFolder(0, i, title) != nullptr);
845 } 843 }
846 } 844 }
847 for (int i = 0; i < 10; ++i) { 845 for (int i = 0; i < 10; ++i) {
848 if (base::RandDouble() > 0.6) { 846 if (base::RandDouble() > 0.6) {
849 std::string title = IndexedURLTitle(i); 847 std::string title = IndexedURLTitle(i);
850 GURL url = GURL(IndexedURL(i)); 848 GURL url = GURL(IndexedURL(i));
851 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 849 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
852 } else { 850 } else {
853 std::string title = IndexedSubfolderName(i); 851 std::string title = IndexedSubfolderName(i);
854 const BookmarkNode* subfolder = 852 const BookmarkNode* subfolder =
855 AddFolder(0, folder, i, title); 853 AddFolder(0, folder, i, title);
856 ASSERT_TRUE(subfolder != NULL); 854 ASSERT_TRUE(subfolder != nullptr);
857 if (base::RandDouble() > 0.3) { 855 if (base::RandDouble() > 0.3) {
858 for (int j = 0; j < 10; ++j) { 856 for (int j = 0; j < 10; ++j) {
859 if (base::RandDouble() > 0.6) { 857 if (base::RandDouble() > 0.6) {
860 std::string title = IndexedURLTitle(j); 858 std::string title = IndexedURLTitle(j);
861 GURL url = GURL(IndexedURL(j)); 859 GURL url = GURL(IndexedURL(j));
862 ASSERT_TRUE(AddURL( 860 ASSERT_TRUE(AddURL(0, subfolder, j, title, url) != nullptr);
863 0, subfolder, j, title, url) != NULL);
864 } else { 861 } else {
865 std::string title = IndexedSubsubfolderName(j); 862 std::string title = IndexedSubsubfolderName(j);
866 ASSERT_TRUE(AddFolder( 863 ASSERT_TRUE(AddFolder(0, subfolder, j, title) != nullptr);
867 0, subfolder, j, title) != NULL);
868 } 864 }
869 } 865 }
870 } 866 }
871 } 867 }
872 } 868 }
873 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 869 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
874 ASSERT_TRUE(AllModelsMatchVerifier()); 870 ASSERT_TRUE(AllModelsMatchVerifier());
875 871
876 Remove(0, GetBookmarkBarNode(0), 1); 872 Remove(0, GetBookmarkBarNode(0), 1);
877 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 873 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
878 ASSERT_TRUE(AllModelsMatchVerifier()); 874 ASSERT_TRUE(AllModelsMatchVerifier());
879 } 875 }
880 876
881 // Test Scribe ID - 371882. 877 // Test Scribe ID - 371882.
882 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 878 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
883 SC_DelBMFoldWithParentAndChildrenBMsAndBMFolds) { 879 SC_DelBMFoldWithParentAndChildrenBMsAndBMFolds) {
884 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 880 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
885 ASSERT_TRUE(AllModelsMatchVerifier()); 881 ASSERT_TRUE(AllModelsMatchVerifier());
886 882
887 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 883 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
888 ASSERT_TRUE(folder != NULL); 884 ASSERT_TRUE(folder != nullptr);
889 for (int i = 1; i < 11; ++i) { 885 for (int i = 1; i < 11; ++i) {
890 std::string title = IndexedURLTitle(i); 886 std::string title = IndexedURLTitle(i);
891 GURL url = GURL(IndexedURL(i)); 887 GURL url = GURL(IndexedURL(i));
892 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 888 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
893 } 889 }
894 const BookmarkNode* subfolder = 890 const BookmarkNode* subfolder =
895 AddFolder(0, folder, 0, kGenericSubfolderName); 891 AddFolder(0, folder, 0, kGenericSubfolderName);
896 ASSERT_TRUE(subfolder != NULL); 892 ASSERT_TRUE(subfolder != nullptr);
897 for (int i = 0; i < 30; ++i) { 893 for (int i = 0; i < 30; ++i) {
898 if (base::RandDouble() > 0.2) { 894 if (base::RandDouble() > 0.2) {
899 std::string title = IndexedURLTitle(i); 895 std::string title = IndexedURLTitle(i);
900 GURL url = GURL(IndexedURL(i)); 896 GURL url = GURL(IndexedURL(i));
901 ASSERT_TRUE(AddURL(0, subfolder, i, title, url) != NULL); 897 ASSERT_TRUE(AddURL(0, subfolder, i, title, url) != nullptr);
902 } else { 898 } else {
903 std::string title = IndexedSubsubfolderName(i); 899 std::string title = IndexedSubsubfolderName(i);
904 ASSERT_TRUE(AddFolder(0, subfolder, i, title) != NULL); 900 ASSERT_TRUE(AddFolder(0, subfolder, i, title) != nullptr);
905 } 901 }
906 } 902 }
907 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 903 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
908 ASSERT_TRUE(AllModelsMatchVerifier()); 904 ASSERT_TRUE(AllModelsMatchVerifier());
909 905
910 Remove(0, folder, 0); 906 Remove(0, folder, 0);
911 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 907 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
912 ASSERT_TRUE(AllModelsMatchVerifier()); 908 ASSERT_TRUE(AllModelsMatchVerifier());
913 } 909 }
914 910
915 // Test Scribe ID - 371931. 911 // Test Scribe ID - 371931.
916 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 912 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
917 SC_ReverseTheOrderOfTwoBMs) { 913 SC_ReverseTheOrderOfTwoBMs) {
918 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 914 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
919 ASSERT_TRUE(AllModelsMatchVerifier()); 915 ASSERT_TRUE(AllModelsMatchVerifier());
920 916
921 GURL url0 = GURL(IndexedURL(0)); 917 GURL url0 = GURL(IndexedURL(0));
922 GURL url1 = GURL(IndexedURL(1)); 918 GURL url1 = GURL(IndexedURL(1));
923 std::string title0 = IndexedURLTitle(0); 919 std::string title0 = IndexedURLTitle(0);
924 std::string title1 = IndexedURLTitle(1); 920 std::string title1 = IndexedURLTitle(1);
925 const BookmarkNode* bookmark0 = AddURL(0, 0, title0, url0); 921 const BookmarkNode* bookmark0 = AddURL(0, 0, title0, url0);
926 const BookmarkNode* bookmark1 = AddURL(0, 1, title1, url1); 922 const BookmarkNode* bookmark1 = AddURL(0, 1, title1, url1);
927 ASSERT_TRUE(bookmark0 != NULL); 923 ASSERT_TRUE(bookmark0 != nullptr);
928 ASSERT_TRUE(bookmark1 != NULL); 924 ASSERT_TRUE(bookmark1 != nullptr);
929 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 925 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
930 ASSERT_TRUE(AllModelsMatchVerifier()); 926 ASSERT_TRUE(AllModelsMatchVerifier());
931 927
932 Move(0, bookmark0, GetBookmarkBarNode(0), 2); 928 Move(0, bookmark0, GetBookmarkBarNode(0), 2);
933 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 929 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
934 ASSERT_TRUE(AllModelsMatchVerifier()); 930 ASSERT_TRUE(AllModelsMatchVerifier());
935 } 931 }
936 932
937 // Test Scribe ID - 371933. 933 // Test Scribe ID - 371933.
938 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_ReverseTheOrderOf10BMs) { 934 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_ReverseTheOrderOf10BMs) {
939 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 935 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
940 ASSERT_TRUE(AllModelsMatchVerifier()); 936 ASSERT_TRUE(AllModelsMatchVerifier());
941 937
942 for (int i = 0; i < 10; ++i) { 938 for (int i = 0; i < 10; ++i) {
943 std::string title = IndexedURLTitle(i); 939 std::string title = IndexedURLTitle(i);
944 GURL url = GURL(IndexedURL(i)); 940 GURL url = GURL(IndexedURL(i));
945 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 941 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
946 } 942 }
947 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 943 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
948 ASSERT_TRUE(AllModelsMatchVerifier()); 944 ASSERT_TRUE(AllModelsMatchVerifier());
949 945
950 ReverseChildOrder(0, GetBookmarkBarNode(0)); 946 ReverseChildOrder(0, GetBookmarkBarNode(0));
951 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 947 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
952 ASSERT_TRUE(AllModelsMatchVerifier()); 948 ASSERT_TRUE(AllModelsMatchVerifier());
953 } 949 }
954 950
955 // Test Scribe ID - 371954. 951 // Test Scribe ID - 371954.
956 // flaky on Windows: http://crbug.com/412169 952 // flaky on Windows: http://crbug.com/412169
957 #if defined(OS_WIN) || defined(OS_MACOSX) 953 #if defined(OS_WIN) || defined(OS_MACOSX)
958 #define MAYBE_SC_MovingBMsFromBMBarToBMFolder \ 954 #define MAYBE_SC_MovingBMsFromBMBarToBMFolder \
959 DISABLED_SC_MovingBMsFromBMBarToBMFolder 955 DISABLED_SC_MovingBMsFromBMBarToBMFolder
960 #else 956 #else
961 #define MAYBE_SC_MovingBMsFromBMBarToBMFolder SC_MovingBMsFromBMBarToBMFolder 957 #define MAYBE_SC_MovingBMsFromBMBarToBMFolder SC_MovingBMsFromBMBarToBMFolder
962 #endif 958 #endif
963 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 959 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
964 MAYBE_SC_MovingBMsFromBMBarToBMFolder) { 960 MAYBE_SC_MovingBMsFromBMBarToBMFolder) {
965 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 961 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
966 ASSERT_TRUE(AllModelsMatchVerifier()); 962 ASSERT_TRUE(AllModelsMatchVerifier());
967 963
968 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != NULL); 964 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != nullptr);
969 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName); 965 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName);
970 ASSERT_TRUE(folder != NULL); 966 ASSERT_TRUE(folder != nullptr);
971 for (int i = 2; i < 10; ++i) { 967 for (int i = 2; i < 10; ++i) {
972 std::string title = IndexedURLTitle(i); 968 std::string title = IndexedURLTitle(i);
973 GURL url = GURL(IndexedURL(i)); 969 GURL url = GURL(IndexedURL(i));
974 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 970 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
975 } 971 }
976 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 972 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
977 ASSERT_TRUE(AllModelsMatchVerifier()); 973 ASSERT_TRUE(AllModelsMatchVerifier());
978 974
979 int num_bookmarks_to_move = 975 int num_bookmarks_to_move =
980 GetBookmarkBarNode(0)->child_count() - 2; 976 GetBookmarkBarNode(0)->child_count() - 2;
981 for (int i = 0; i < num_bookmarks_to_move; ++i) { 977 for (int i = 0; i < num_bookmarks_to_move; ++i) {
982 Move( 978 Move(
983 0, GetBookmarkBarNode(0)->GetChild(2), folder, i); 979 0, GetBookmarkBarNode(0)->GetChild(2), folder, i);
984 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 980 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
985 ASSERT_TRUE(AllModelsMatchVerifier()); 981 ASSERT_TRUE(AllModelsMatchVerifier());
986 } 982 }
987 } 983 }
988 984
989 // Test Scribe ID - 371957. 985 // Test Scribe ID - 371957.
990 // flaky on Windows and Mac: http://crbug.com/412169 986 // flaky on Windows and Mac: http://crbug.com/412169
991 #if defined(OS_WIN) || defined(OS_MACOSX) 987 #if defined(OS_WIN) || defined(OS_MACOSX)
992 #define MAYBE_SC_MovingBMsFromBMFoldToBMBar \ 988 #define MAYBE_SC_MovingBMsFromBMFoldToBMBar \
993 DISABLED_SC_MovingBMsFromBMFoldToBMBar 989 DISABLED_SC_MovingBMsFromBMFoldToBMBar
994 #else 990 #else
995 #define MAYBE_SC_MovingBMsFromBMFoldToBMBar SC_MovingBMsFromBMFoldToBMBar 991 #define MAYBE_SC_MovingBMsFromBMFoldToBMBar SC_MovingBMsFromBMFoldToBMBar
996 #endif 992 #endif
997 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 993 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
998 MAYBE_SC_MovingBMsFromBMFoldToBMBar) { 994 MAYBE_SC_MovingBMsFromBMFoldToBMBar) {
999 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 995 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1000 ASSERT_TRUE(AllModelsMatchVerifier()); 996 ASSERT_TRUE(AllModelsMatchVerifier());
1001 997
1002 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != NULL); 998 ASSERT_TRUE(AddURL(0, kGenericURLTitle, GURL(kGenericURL)) != nullptr);
1003 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName); 999 const BookmarkNode* folder = AddFolder(0, 1, kGenericFolderName);
1004 ASSERT_TRUE(folder != NULL); 1000 ASSERT_TRUE(folder != nullptr);
1005 for (int i = 0; i < 10; ++i) { 1001 for (int i = 0; i < 10; ++i) {
1006 std::string title = IndexedURLTitle(i); 1002 std::string title = IndexedURLTitle(i);
1007 GURL url = GURL(IndexedURL(i)); 1003 GURL url = GURL(IndexedURL(i));
1008 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1004 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1009 } 1005 }
1010 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1006 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1011 ASSERT_TRUE(AllModelsMatchVerifier()); 1007 ASSERT_TRUE(AllModelsMatchVerifier());
1012 1008
1013 int num_bookmarks_to_move = folder->child_count() - 2; 1009 int num_bookmarks_to_move = folder->child_count() - 2;
1014 for (int i = 0; i < num_bookmarks_to_move; ++i) { 1010 for (int i = 0; i < num_bookmarks_to_move; ++i) {
1015 Move(0, folder->GetChild(0), GetBookmarkBarNode(0), i); 1011 Move(0, folder->GetChild(0), GetBookmarkBarNode(0), i);
1016 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1012 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1017 ASSERT_TRUE(AllModelsMatchVerifier()); 1013 ASSERT_TRUE(AllModelsMatchVerifier());
1018 } 1014 }
1019 } 1015 }
1020 1016
1021 // Test Scribe ID - 371961. 1017 // Test Scribe ID - 371961.
1022 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1018 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1023 SC_MovingBMsFromParentBMFoldToChildBMFold) { 1019 SC_MovingBMsFromParentBMFoldToChildBMFold) {
1024 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1020 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1025 ASSERT_TRUE(AllModelsMatchVerifier()); 1021 ASSERT_TRUE(AllModelsMatchVerifier());
1026 1022
1027 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 1023 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
1028 ASSERT_TRUE(folder != NULL); 1024 ASSERT_TRUE(folder != nullptr);
1029 for (int i = 0; i < 3; ++i) { 1025 for (int i = 0; i < 3; ++i) {
1030 std::string title = IndexedURLTitle(i); 1026 std::string title = IndexedURLTitle(i);
1031 GURL url = GURL(IndexedURL(i)); 1027 GURL url = GURL(IndexedURL(i));
1032 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1028 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1033 } 1029 }
1034 const BookmarkNode* subfolder = 1030 const BookmarkNode* subfolder =
1035 AddFolder(0, folder, 3, kGenericSubfolderName); 1031 AddFolder(0, folder, 3, kGenericSubfolderName);
1036 ASSERT_TRUE(subfolder != NULL); 1032 ASSERT_TRUE(subfolder != nullptr);
1037 for (int i = 0; i < 10; ++i) { 1033 for (int i = 0; i < 10; ++i) {
1038 std::string title = IndexedURLTitle(i + 3); 1034 std::string title = IndexedURLTitle(i + 3);
1039 GURL url = GURL(IndexedURL(i + 3)); 1035 GURL url = GURL(IndexedURL(i + 3));
1040 ASSERT_TRUE(AddURL(0, subfolder, i, title, url) != NULL); 1036 ASSERT_TRUE(AddURL(0, subfolder, i, title, url) != nullptr);
1041 } 1037 }
1042 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1038 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1043 ASSERT_TRUE(AllModelsMatchVerifier()); 1039 ASSERT_TRUE(AllModelsMatchVerifier());
1044 1040
1045 for (int i = 0; i < 3; ++i) { 1041 for (int i = 0; i < 3; ++i) {
1046 GURL url = GURL(IndexedURL(i)); 1042 GURL url = GURL(IndexedURL(i));
1047 Move(0, GetUniqueNodeByURL(0, url), subfolder, i + 10); 1043 Move(0, GetUniqueNodeByURL(0, url), subfolder, i + 10);
1048 } 1044 }
1049 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1045 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1050 ASSERT_TRUE(AllModelsMatchVerifier()); 1046 ASSERT_TRUE(AllModelsMatchVerifier());
1051 } 1047 }
1052 1048
1053 // Test Scribe ID - 371964. 1049 // Test Scribe ID - 371964.
1054 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1050 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1055 SC_MovingBMsFromChildBMFoldToParentBMFold) { 1051 SC_MovingBMsFromChildBMFoldToParentBMFold) {
1056 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1052 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1057 ASSERT_TRUE(AllModelsMatchVerifier()); 1053 ASSERT_TRUE(AllModelsMatchVerifier());
1058 1054
1059 const BookmarkNode* folder = AddFolder(0, kGenericFolderName); 1055 const BookmarkNode* folder = AddFolder(0, kGenericFolderName);
1060 ASSERT_TRUE(folder != NULL); 1056 ASSERT_TRUE(folder != nullptr);
1061 for (int i = 0; i < 3; ++i) { 1057 for (int i = 0; i < 3; ++i) {
1062 std::string title = IndexedURLTitle(i); 1058 std::string title = IndexedURLTitle(i);
1063 GURL url = GURL(IndexedURL(i)); 1059 GURL url = GURL(IndexedURL(i));
1064 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1060 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1065 } 1061 }
1066 const BookmarkNode* subfolder = 1062 const BookmarkNode* subfolder =
1067 AddFolder(0, folder, 3, kGenericSubfolderName); 1063 AddFolder(0, folder, 3, kGenericSubfolderName);
1068 ASSERT_TRUE(subfolder != NULL); 1064 ASSERT_TRUE(subfolder != nullptr);
1069 for (int i = 0; i < 5; ++i) { 1065 for (int i = 0; i < 5; ++i) {
1070 std::string title = IndexedURLTitle(i + 3); 1066 std::string title = IndexedURLTitle(i + 3);
1071 GURL url = GURL(IndexedURL(i + 3)); 1067 GURL url = GURL(IndexedURL(i + 3));
1072 ASSERT_TRUE(AddURL(0, subfolder, i, title, url) != NULL); 1068 ASSERT_TRUE(AddURL(0, subfolder, i, title, url) != nullptr);
1073 } 1069 }
1074 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1070 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1075 ASSERT_TRUE(AllModelsMatchVerifier()); 1071 ASSERT_TRUE(AllModelsMatchVerifier());
1076 1072
1077 for (int i = 0; i < 3; ++i) { 1073 for (int i = 0; i < 3; ++i) {
1078 GURL url = GURL(IndexedURL(i + 3)); 1074 GURL url = GURL(IndexedURL(i + 3));
1079 Move(0, GetUniqueNodeByURL(0, url), folder, i + 4); 1075 Move(0, GetUniqueNodeByURL(0, url), folder, i + 4);
1080 } 1076 }
1081 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1077 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1082 ASSERT_TRUE(AllModelsMatchVerifier()); 1078 ASSERT_TRUE(AllModelsMatchVerifier());
1083 } 1079 }
1084 1080
1085 // Test Scribe ID - 371967. 1081 // Test Scribe ID - 371967.
1086 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_HoistBMs10LevelUp) { 1082 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_HoistBMs10LevelUp) {
1087 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1083 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1088 ASSERT_TRUE(AllModelsMatchVerifier()); 1084 ASSERT_TRUE(AllModelsMatchVerifier());
1089 1085
1090 const BookmarkNode* folder = GetBookmarkBarNode(0); 1086 const BookmarkNode* folder = GetBookmarkBarNode(0);
1091 const BookmarkNode* folder_L0 = NULL; 1087 const BookmarkNode* folder_L0 = nullptr;
1092 const BookmarkNode* folder_L10 = NULL; 1088 const BookmarkNode* folder_L10 = nullptr;
1093 for (int level = 0; level < 15; ++level) { 1089 for (int level = 0; level < 15; ++level) {
1094 int num_bookmarks = base::RandInt(0, 9); 1090 int num_bookmarks = base::RandInt(0, 9);
1095 for (int i = 0; i < num_bookmarks; ++i) { 1091 for (int i = 0; i < num_bookmarks; ++i) {
1096 std::string title = IndexedURLTitle(i); 1092 std::string title = IndexedURLTitle(i);
1097 GURL url = GURL(IndexedURL(i)); 1093 GURL url = GURL(IndexedURL(i));
1098 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1094 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1099 } 1095 }
1100 std::string title = IndexedFolderName(level); 1096 std::string title = IndexedFolderName(level);
1101 folder = AddFolder(0, folder, folder->child_count(), title); 1097 folder = AddFolder(0, folder, folder->child_count(), title);
1102 ASSERT_TRUE(folder != NULL); 1098 ASSERT_TRUE(folder != nullptr);
1103 if (level == 0) folder_L0 = folder; 1099 if (level == 0) folder_L0 = folder;
1104 if (level == 10) folder_L10 = folder; 1100 if (level == 10) folder_L10 = folder;
1105 } 1101 }
1106 for (int i = 0; i < 3; ++i) { 1102 for (int i = 0; i < 3; ++i) {
1107 std::string title = IndexedURLTitle(i + 10); 1103 std::string title = IndexedURLTitle(i + 10);
1108 GURL url = GURL(IndexedURL(i + 10)); 1104 GURL url = GURL(IndexedURL(i + 10));
1109 ASSERT_TRUE(AddURL(0, folder_L10, i, title, url) != NULL); 1105 ASSERT_TRUE(AddURL(0, folder_L10, i, title, url) != nullptr);
1110 } 1106 }
1111 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1107 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1112 ASSERT_TRUE(AllModelsMatchVerifier()); 1108 ASSERT_TRUE(AllModelsMatchVerifier());
1113 1109
1114 GURL url10 = GURL(IndexedURL(10)); 1110 GURL url10 = GURL(IndexedURL(10));
1115 Move(0, GetUniqueNodeByURL( 1111 Move(0, GetUniqueNodeByURL(
1116 0, url10), folder_L0, folder_L0->child_count()); 1112 0, url10), folder_L0, folder_L0->child_count());
1117 GURL url11 = GURL(IndexedURL(11)); 1113 GURL url11 = GURL(IndexedURL(11));
1118 Move(0, GetUniqueNodeByURL(0, url11), folder_L0, 0); 1114 Move(0, GetUniqueNodeByURL(0, url11), folder_L0, 0);
1119 GURL url12 = GURL(IndexedURL(12)); 1115 GURL url12 = GURL(IndexedURL(12));
1120 Move(0, GetUniqueNodeByURL(0, url12), folder_L0, 1); 1116 Move(0, GetUniqueNodeByURL(0, url12), folder_L0, 1);
1121 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1117 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1122 ASSERT_TRUE(AllModelsMatchVerifier()); 1118 ASSERT_TRUE(AllModelsMatchVerifier());
1123 } 1119 }
1124 1120
1125 // Test Scribe ID - 371968. 1121 // Test Scribe ID - 371968.
1126 // Flaky. http://crbug.com/107744. 1122 // Flaky. http://crbug.com/107744.
1127 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SinkBMs10LevelDown) { 1123 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SinkBMs10LevelDown) {
1128 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1124 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1129 ASSERT_TRUE(AllModelsMatchVerifier()); 1125 ASSERT_TRUE(AllModelsMatchVerifier());
1130 1126
1131 const BookmarkNode* folder = GetBookmarkBarNode(0); 1127 const BookmarkNode* folder = GetBookmarkBarNode(0);
1132 const BookmarkNode* folder_L0 = NULL; 1128 const BookmarkNode* folder_L0 = nullptr;
1133 const BookmarkNode* folder_L10 = NULL; 1129 const BookmarkNode* folder_L10 = nullptr;
1134 for (int level = 0; level < 15; ++level) { 1130 for (int level = 0; level < 15; ++level) {
1135 int num_bookmarks = base::RandInt(0, 9); 1131 int num_bookmarks = base::RandInt(0, 9);
1136 for (int i = 0; i < num_bookmarks; ++i) { 1132 for (int i = 0; i < num_bookmarks; ++i) {
1137 std::string title = IndexedURLTitle(i); 1133 std::string title = IndexedURLTitle(i);
1138 GURL url = GURL(IndexedURL(i)); 1134 GURL url = GURL(IndexedURL(i));
1139 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1135 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1140 } 1136 }
1141 std::string title = IndexedFolderName(level); 1137 std::string title = IndexedFolderName(level);
1142 folder = AddFolder(0, folder, folder->child_count(), title); 1138 folder = AddFolder(0, folder, folder->child_count(), title);
1143 ASSERT_TRUE(folder != NULL); 1139 ASSERT_TRUE(folder != nullptr);
1144 if (level == 0) folder_L0 = folder; 1140 if (level == 0) folder_L0 = folder;
1145 if (level == 10) folder_L10 = folder; 1141 if (level == 10) folder_L10 = folder;
1146 } 1142 }
1147 for (int i = 0; i < 3; ++i) { 1143 for (int i = 0; i < 3; ++i) {
1148 std::string title = IndexedURLTitle(i + 10); 1144 std::string title = IndexedURLTitle(i + 10);
1149 GURL url = GURL(IndexedURL(i + 10)); 1145 GURL url = GURL(IndexedURL(i + 10));
1150 ASSERT_TRUE(AddURL(0, folder_L0, 0, title, url) != NULL); 1146 ASSERT_TRUE(AddURL(0, folder_L0, 0, title, url) != nullptr);
1151 } 1147 }
1152 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1148 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1153 ASSERT_TRUE(AllModelsMatchVerifier()); 1149 ASSERT_TRUE(AllModelsMatchVerifier());
1154 1150
1155 GURL url10 = GURL(IndexedURL(10)); 1151 GURL url10 = GURL(IndexedURL(10));
1156 Move(0, GetUniqueNodeByURL(0, url10), folder_L10, folder_L10->child_count()); 1152 Move(0, GetUniqueNodeByURL(0, url10), folder_L10, folder_L10->child_count());
1157 GURL url11 = GURL(IndexedURL(11)); 1153 GURL url11 = GURL(IndexedURL(11));
1158 Move(0, GetUniqueNodeByURL(0, url11), folder_L10, 0); 1154 Move(0, GetUniqueNodeByURL(0, url11), folder_L10, 0);
1159 GURL url12 = GURL(IndexedURL(12)); 1155 GURL url12 = GURL(IndexedURL(12));
1160 Move(0, GetUniqueNodeByURL(0, url12), folder_L10, 1); 1156 Move(0, GetUniqueNodeByURL(0, url12), folder_L10, 1);
1161 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1157 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1162 ASSERT_TRUE(AllModelsMatchVerifier()); 1158 ASSERT_TRUE(AllModelsMatchVerifier());
1163 } 1159 }
1164 1160
1165 // Test Scribe ID - 371980. 1161 // Test Scribe ID - 371980.
1166 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1162 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1167 SC_SinkEmptyBMFold5LevelsDown) { 1163 SC_SinkEmptyBMFold5LevelsDown) {
1168 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1164 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1169 ASSERT_TRUE(AllModelsMatchVerifier()); 1165 ASSERT_TRUE(AllModelsMatchVerifier());
1170 1166
1171 const BookmarkNode* folder = GetBookmarkBarNode(0); 1167 const BookmarkNode* folder = GetBookmarkBarNode(0);
1172 const BookmarkNode* folder_L5 = NULL; 1168 const BookmarkNode* folder_L5 = nullptr;
1173 for (int level = 0; level < 15; ++level) { 1169 for (int level = 0; level < 15; ++level) {
1174 int num_bookmarks = base::RandInt(0, 9); 1170 int num_bookmarks = base::RandInt(0, 9);
1175 for (int i = 0; i < num_bookmarks; ++i) { 1171 for (int i = 0; i < num_bookmarks; ++i) {
1176 std::string title = IndexedURLTitle(i); 1172 std::string title = IndexedURLTitle(i);
1177 GURL url = GURL(IndexedURL(i)); 1173 GURL url = GURL(IndexedURL(i));
1178 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1174 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1179 } 1175 }
1180 std::string title = IndexedFolderName(level); 1176 std::string title = IndexedFolderName(level);
1181 folder = AddFolder( 1177 folder = AddFolder(
1182 0, folder, folder->child_count(), title); 1178 0, folder, folder->child_count(), title);
1183 ASSERT_TRUE(folder != NULL); 1179 ASSERT_TRUE(folder != nullptr);
1184 if (level == 5) folder_L5 = folder; 1180 if (level == 5) folder_L5 = folder;
1185 } 1181 }
1186 folder = AddFolder( 1182 folder = AddFolder(
1187 0, GetBookmarkBarNode(0)->child_count(), kGenericFolderName); 1183 0, GetBookmarkBarNode(0)->child_count(), kGenericFolderName);
1188 ASSERT_TRUE(folder != NULL); 1184 ASSERT_TRUE(folder != nullptr);
1189 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1185 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1190 ASSERT_TRUE(AllModelsMatchVerifier()); 1186 ASSERT_TRUE(AllModelsMatchVerifier());
1191 1187
1192 Move(0, folder, folder_L5, folder_L5->child_count()); 1188 Move(0, folder, folder_L5, folder_L5->child_count());
1193 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1189 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1194 ASSERT_TRUE(AllModelsMatchVerifier()); 1190 ASSERT_TRUE(AllModelsMatchVerifier());
1195 } 1191 }
1196 1192
1197 // Test Scribe ID - 371997. 1193 // Test Scribe ID - 371997.
1198 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1194 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1199 SC_SinkNonEmptyBMFold5LevelsDown) { 1195 SC_SinkNonEmptyBMFold5LevelsDown) {
1200 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1196 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1201 ASSERT_TRUE(AllModelsMatchVerifier()); 1197 ASSERT_TRUE(AllModelsMatchVerifier());
1202 1198
1203 const BookmarkNode* folder = GetBookmarkBarNode(0); 1199 const BookmarkNode* folder = GetBookmarkBarNode(0);
1204 const BookmarkNode* folder_L5 = NULL; 1200 const BookmarkNode* folder_L5 = nullptr;
1205 for (int level = 0; level < 6; ++level) { 1201 for (int level = 0; level < 6; ++level) {
1206 int num_bookmarks = base::RandInt(0, 9); 1202 int num_bookmarks = base::RandInt(0, 9);
1207 for (int i = 0; i < num_bookmarks; ++i) { 1203 for (int i = 0; i < num_bookmarks; ++i) {
1208 std::string title = IndexedURLTitle(i); 1204 std::string title = IndexedURLTitle(i);
1209 GURL url = GURL(IndexedURL(i)); 1205 GURL url = GURL(IndexedURL(i));
1210 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1206 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1211 } 1207 }
1212 std::string title = IndexedFolderName(level); 1208 std::string title = IndexedFolderName(level);
1213 folder = AddFolder(0, folder, folder->child_count(), title); 1209 folder = AddFolder(0, folder, folder->child_count(), title);
1214 ASSERT_TRUE(folder != NULL); 1210 ASSERT_TRUE(folder != nullptr);
1215 if (level == 5) folder_L5 = folder; 1211 if (level == 5) folder_L5 = folder;
1216 } 1212 }
1217 folder = AddFolder( 1213 folder = AddFolder(
1218 0, GetBookmarkBarNode(0)->child_count(), kGenericFolderName); 1214 0, GetBookmarkBarNode(0)->child_count(), kGenericFolderName);
1219 ASSERT_TRUE(folder != NULL); 1215 ASSERT_TRUE(folder != nullptr);
1220 for (int i = 0; i < 10; ++i) { 1216 for (int i = 0; i < 10; ++i) {
1221 std::string title = IndexedURLTitle(i); 1217 std::string title = IndexedURLTitle(i);
1222 GURL url = GURL(IndexedURL(i)); 1218 GURL url = GURL(IndexedURL(i));
1223 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1219 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1224 } 1220 }
1225 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1221 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1226 ASSERT_TRUE(AllModelsMatchVerifier()); 1222 ASSERT_TRUE(AllModelsMatchVerifier());
1227 1223
1228 Move(0, folder, folder_L5, folder_L5->child_count()); 1224 Move(0, folder, folder_L5, folder_L5->child_count());
1229 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1225 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1230 ASSERT_TRUE(AllModelsMatchVerifier()); 1226 ASSERT_TRUE(AllModelsMatchVerifier());
1231 } 1227 }
1232 1228
1233 // Test Scribe ID - 372006. 1229 // Test Scribe ID - 372006.
1234 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1230 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1235 SC_HoistFolder5LevelsUp) { 1231 SC_HoistFolder5LevelsUp) {
1236 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1232 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1237 ASSERT_TRUE(AllModelsMatchVerifier()); 1233 ASSERT_TRUE(AllModelsMatchVerifier());
1238 1234
1239 const BookmarkNode* folder = GetBookmarkBarNode(0); 1235 const BookmarkNode* folder = GetBookmarkBarNode(0);
1240 const BookmarkNode* folder_L5 = NULL; 1236 const BookmarkNode* folder_L5 = nullptr;
1241 for (int level = 0; level < 6; ++level) { 1237 for (int level = 0; level < 6; ++level) {
1242 int num_bookmarks = base::RandInt(0, 9); 1238 int num_bookmarks = base::RandInt(0, 9);
1243 for (int i = 0; i < num_bookmarks; ++i) { 1239 for (int i = 0; i < num_bookmarks; ++i) {
1244 std::string title = IndexedURLTitle(i); 1240 std::string title = IndexedURLTitle(i);
1245 GURL url = GURL(IndexedURL(i)); 1241 GURL url = GURL(IndexedURL(i));
1246 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1242 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1247 } 1243 }
1248 std::string title = IndexedFolderName(level); 1244 std::string title = IndexedFolderName(level);
1249 folder = AddFolder(0, folder, folder->child_count(), title); 1245 folder = AddFolder(0, folder, folder->child_count(), title);
1250 ASSERT_TRUE(folder != NULL); 1246 ASSERT_TRUE(folder != nullptr);
1251 if (level == 5) folder_L5 = folder; 1247 if (level == 5) folder_L5 = folder;
1252 } 1248 }
1253 folder = AddFolder( 1249 folder = AddFolder(
1254 0, folder_L5, folder_L5->child_count(), kGenericFolderName); 1250 0, folder_L5, folder_L5->child_count(), kGenericFolderName);
1255 ASSERT_TRUE(folder != NULL); 1251 ASSERT_TRUE(folder != nullptr);
1256 for (int i = 0; i < 10; ++i) { 1252 for (int i = 0; i < 10; ++i) {
1257 std::string title = IndexedURLTitle(i); 1253 std::string title = IndexedURLTitle(i);
1258 GURL url = GURL(IndexedURL(i)); 1254 GURL url = GURL(IndexedURL(i));
1259 ASSERT_TRUE(AddURL(0, folder, i, title, url) != NULL); 1255 ASSERT_TRUE(AddURL(0, folder, i, title, url) != nullptr);
1260 } 1256 }
1261 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1257 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1262 ASSERT_TRUE(AllModelsMatchVerifier()); 1258 ASSERT_TRUE(AllModelsMatchVerifier());
1263 1259
1264 Move(0, folder, GetBookmarkBarNode(0), GetBookmarkBarNode(0)->child_count()); 1260 Move(0, folder, GetBookmarkBarNode(0), GetBookmarkBarNode(0)->child_count());
1265 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1261 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1266 ASSERT_TRUE(AllModelsMatchVerifier()); 1262 ASSERT_TRUE(AllModelsMatchVerifier());
1267 } 1263 }
1268 1264
1269 // Test Scribe ID - 372026. 1265 // Test Scribe ID - 372026.
1270 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1266 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1271 SC_ReverseTheOrderOfTwoBMFolders) { 1267 SC_ReverseTheOrderOfTwoBMFolders) {
1272 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1268 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1273 ASSERT_TRUE(AllModelsMatchVerifier()); 1269 ASSERT_TRUE(AllModelsMatchVerifier());
1274 1270
1275 for (int i = 0; i < 2; ++i) { 1271 for (int i = 0; i < 2; ++i) {
1276 std::string title = IndexedFolderName(i); 1272 std::string title = IndexedFolderName(i);
1277 const BookmarkNode* folder = AddFolder(0, i, title); 1273 const BookmarkNode* folder = AddFolder(0, i, title);
1278 ASSERT_TRUE(folder != NULL); 1274 ASSERT_TRUE(folder != nullptr);
1279 for (int j = 0; j < 10; ++j) { 1275 for (int j = 0; j < 10; ++j) {
1280 std::string title = IndexedURLTitle(j); 1276 std::string title = IndexedURLTitle(j);
1281 GURL url = GURL(IndexedURL(j)); 1277 GURL url = GURL(IndexedURL(j));
1282 ASSERT_TRUE(AddURL(0, folder, j, title, url) != NULL); 1278 ASSERT_TRUE(AddURL(0, folder, j, title, url) != nullptr);
1283 } 1279 }
1284 } 1280 }
1285 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1281 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1286 ASSERT_TRUE(AllModelsMatchVerifier()); 1282 ASSERT_TRUE(AllModelsMatchVerifier());
1287 1283
1288 ReverseChildOrder(0, GetBookmarkBarNode(0)); 1284 ReverseChildOrder(0, GetBookmarkBarNode(0));
1289 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1285 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1290 ASSERT_TRUE(AllModelsMatchVerifier()); 1286 ASSERT_TRUE(AllModelsMatchVerifier());
1291 } 1287 }
1292 1288
1293 // Test Scribe ID - 372028. 1289 // Test Scribe ID - 372028.
1294 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1290 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1295 SC_ReverseTheOrderOfTenBMFolders) { 1291 SC_ReverseTheOrderOfTenBMFolders) {
1296 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1292 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1297 ASSERT_TRUE(AllModelsMatchVerifier()); 1293 ASSERT_TRUE(AllModelsMatchVerifier());
1298 1294
1299 for (int i = 0; i < 10; ++i) { 1295 for (int i = 0; i < 10; ++i) {
1300 std::string title = IndexedFolderName(i); 1296 std::string title = IndexedFolderName(i);
1301 const BookmarkNode* folder = AddFolder(0, i, title); 1297 const BookmarkNode* folder = AddFolder(0, i, title);
1302 ASSERT_TRUE(folder != NULL); 1298 ASSERT_TRUE(folder != nullptr);
1303 for (int j = 0; j < 10; ++j) { 1299 for (int j = 0; j < 10; ++j) {
1304 std::string title = IndexedURLTitle(1000 * i + j); 1300 std::string title = IndexedURLTitle(1000 * i + j);
1305 GURL url = GURL(IndexedURL(j)); 1301 GURL url = GURL(IndexedURL(j));
1306 ASSERT_TRUE(AddURL(0, folder, j, title, url) != NULL); 1302 ASSERT_TRUE(AddURL(0, folder, j, title, url) != nullptr);
1307 } 1303 }
1308 } 1304 }
1309 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1305 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1310 ASSERT_TRUE(AllModelsMatchVerifier()); 1306 ASSERT_TRUE(AllModelsMatchVerifier());
1311 1307
1312 ReverseChildOrder(0, GetBookmarkBarNode(0)); 1308 ReverseChildOrder(0, GetBookmarkBarNode(0));
1313 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1309 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1314 ASSERT_TRUE(AllModelsMatchVerifier()); 1310 ASSERT_TRUE(AllModelsMatchVerifier());
1315 } 1311 }
1316 1312
1317 // Test Scribe ID - 373379. 1313 // Test Scribe ID - 373379.
1318 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1314 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1319 MC_BiDirectionalPushAddingBM) { 1315 MC_BiDirectionalPushAddingBM) {
1320 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1316 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1321 ASSERT_TRUE(AllModelsMatchVerifier()); 1317 ASSERT_TRUE(AllModelsMatchVerifier());
1322 1318
1323 DisableVerifier(); 1319 DisableVerifier();
1324 for (int i = 0; i < 2; ++i) { 1320 for (int i = 0; i < 2; ++i) {
1325 std::string title0 = IndexedURLTitle(2*i); 1321 std::string title0 = IndexedURLTitle(2*i);
1326 GURL url0 = GURL(IndexedURL(2*i)); 1322 GURL url0 = GURL(IndexedURL(2*i));
1327 ASSERT_TRUE(AddURL(0, title0, url0) != NULL); 1323 ASSERT_TRUE(AddURL(0, title0, url0) != nullptr);
1328 std::string title1 = IndexedURLTitle(2*i+1); 1324 std::string title1 = IndexedURLTitle(2*i+1);
1329 GURL url1 = GURL(IndexedURL(2*i+1)); 1325 GURL url1 = GURL(IndexedURL(2*i+1));
1330 ASSERT_TRUE(AddURL(1, title1, url1) != NULL); 1326 ASSERT_TRUE(AddURL(1, title1, url1) != nullptr);
1331 } 1327 }
1332 ASSERT_TRUE(AwaitQuiescence()); 1328 ASSERT_TRUE(AwaitQuiescence());
1333 ASSERT_TRUE(AllModelsMatch()); 1329 ASSERT_TRUE(AllModelsMatch());
1334 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1330 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1335 } 1331 }
1336 1332
1337 // Test Scribe ID - 373503. 1333 // Test Scribe ID - 373503.
1338 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1334 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1339 MC_BiDirectionalPush_AddingSameBMs) { 1335 MC_BiDirectionalPush_AddingSameBMs) {
1340 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1336 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1341 ASSERT_TRUE(AllModelsMatchVerifier()); 1337 ASSERT_TRUE(AllModelsMatchVerifier());
1342 1338
1343 // Note: When a racy commit is done with identical bookmarks, it is possible 1339 // Note: When a racy commit is done with identical bookmarks, it is possible
1344 // for duplicates to exist after sync completes. See http://crbug.com/19769. 1340 // for duplicates to exist after sync completes. See http://crbug.com/19769.
1345 DisableVerifier(); 1341 DisableVerifier();
1346 for (int i = 0; i < 2; ++i) { 1342 for (int i = 0; i < 2; ++i) {
1347 std::string title = IndexedURLTitle(i); 1343 std::string title = IndexedURLTitle(i);
1348 GURL url = GURL(IndexedURL(i)); 1344 GURL url = GURL(IndexedURL(i));
1349 ASSERT_TRUE(AddURL(0, title, url) != NULL); 1345 ASSERT_TRUE(AddURL(0, title, url) != nullptr);
1350 ASSERT_TRUE(AddURL(1, title, url) != NULL); 1346 ASSERT_TRUE(AddURL(1, title, url) != nullptr);
1351 } 1347 }
1352 ASSERT_TRUE(AwaitQuiescence()); 1348 ASSERT_TRUE(AwaitQuiescence());
1353 ASSERT_TRUE(AllModelsMatch()); 1349 ASSERT_TRUE(AllModelsMatch());
1354 } 1350 }
1355 1351
1356 // Test Scribe ID - 373506. 1352 // Test Scribe ID - 373506.
1357 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1353 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1358 MC_BootStrapEmptyStateEverywhere) { 1354 MC_BootStrapEmptyStateEverywhere) {
1359 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1355 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1360 ASSERT_TRUE(AwaitQuiescence()); 1356 ASSERT_TRUE(AwaitQuiescence());
1361 ASSERT_TRUE(AllModelsMatchVerifier()); 1357 ASSERT_TRUE(AllModelsMatchVerifier());
1362 } 1358 }
1363 1359
1364 // Test Scribe ID - 373505. 1360 // Test Scribe ID - 373505.
1365 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1361 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1366 MC_Merge_CaseInsensitivity_InNames) { 1362 MC_Merge_CaseInsensitivity_InNames) {
1367 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1363 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1368 DisableVerifier(); 1364 DisableVerifier();
1369 1365
1370 const BookmarkNode* folder0 = AddFolder(0, "Folder"); 1366 const BookmarkNode* folder0 = AddFolder(0, "Folder");
1371 ASSERT_TRUE(folder0 != NULL); 1367 ASSERT_TRUE(folder0 != nullptr);
1372 ASSERT_TRUE(AddURL(0, folder0, 0, "Bookmark 0", GURL(kGenericURL)) != NULL); 1368 ASSERT_TRUE(AddURL(0, folder0, 0, "Bookmark 0", GURL(kGenericURL)) !=
1373 ASSERT_TRUE(AddURL(0, folder0, 1, "Bookmark 1", GURL(kGenericURL)) != NULL); 1369 nullptr);
1374 ASSERT_TRUE(AddURL(0, folder0, 2, "Bookmark 2", GURL(kGenericURL)) != NULL); 1370 ASSERT_TRUE(AddURL(0, folder0, 1, "Bookmark 1", GURL(kGenericURL)) !=
1371 nullptr);
1372 ASSERT_TRUE(AddURL(0, folder0, 2, "Bookmark 2", GURL(kGenericURL)) !=
1373 nullptr);
1375 1374
1376 const BookmarkNode* folder1 = AddFolder(1, "fOlDeR"); 1375 const BookmarkNode* folder1 = AddFolder(1, "fOlDeR");
1377 ASSERT_TRUE(folder1 != NULL); 1376 ASSERT_TRUE(folder1 != nullptr);
1378 ASSERT_TRUE(AddURL(1, folder1, 0, "bOoKmArK 0", GURL(kGenericURL)) != NULL); 1377 ASSERT_TRUE(AddURL(1, folder1, 0, "bOoKmArK 0", GURL(kGenericURL)) !=
1379 ASSERT_TRUE(AddURL(1, folder1, 1, "BooKMarK 1", GURL(kGenericURL)) != NULL); 1378 nullptr);
1380 ASSERT_TRUE(AddURL(1, folder1, 2, "bOOKMARK 2", GURL(kGenericURL)) != NULL); 1379 ASSERT_TRUE(AddURL(1, folder1, 1, "BooKMarK 1", GURL(kGenericURL)) !=
1380 nullptr);
1381 ASSERT_TRUE(AddURL(1, folder1, 2, "bOOKMARK 2", GURL(kGenericURL)) !=
1382 nullptr);
1381 1383
1382 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1384 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1383 ASSERT_TRUE(AwaitQuiescence()); 1385 ASSERT_TRUE(AwaitQuiescence());
1384 ASSERT_TRUE(AllModelsMatch()); 1386 ASSERT_TRUE(AllModelsMatch());
1385 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1387 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1386 } 1388 }
1387 1389
1388 // Test Scribe ID - 373508. 1390 // Test Scribe ID - 373508.
1389 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1391 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1390 MC_SimpleMergeOfDifferentBMModels) { 1392 MC_SimpleMergeOfDifferentBMModels) {
1391 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1393 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1392 DisableVerifier(); 1394 DisableVerifier();
1393 1395
1394 for (int i = 0; i < 3; ++i) { 1396 for (int i = 0; i < 3; ++i) {
1395 std::string title = IndexedURLTitle(i); 1397 std::string title = IndexedURLTitle(i);
1396 GURL url = GURL(IndexedURL(i)); 1398 GURL url = GURL(IndexedURL(i));
1397 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 1399 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
1398 ASSERT_TRUE(AddURL(1, i, title, url) != NULL); 1400 ASSERT_TRUE(AddURL(1, i, title, url) != nullptr);
1399 } 1401 }
1400 1402
1401 for (int i = 3; i < 10; ++i) { 1403 for (int i = 3; i < 10; ++i) {
1402 std::string title0 = IndexedURLTitle(i); 1404 std::string title0 = IndexedURLTitle(i);
1403 GURL url0 = GURL(IndexedURL(i)); 1405 GURL url0 = GURL(IndexedURL(i));
1404 ASSERT_TRUE(AddURL(0, i, title0, url0) != NULL); 1406 ASSERT_TRUE(AddURL(0, i, title0, url0) != nullptr);
1405 std::string title1 = IndexedURLTitle(i+7); 1407 std::string title1 = IndexedURLTitle(i+7);
1406 GURL url1 = GURL(IndexedURL(i+7)); 1408 GURL url1 = GURL(IndexedURL(i+7));
1407 ASSERT_TRUE(AddURL(1, i, title1, url1) != NULL); 1409 ASSERT_TRUE(AddURL(1, i, title1, url1) != nullptr);
1408 } 1410 }
1409 1411
1410 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1412 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1411 ASSERT_TRUE(AwaitQuiescence()); 1413 ASSERT_TRUE(AwaitQuiescence());
1412 ASSERT_TRUE(AllModelsMatch()); 1414 ASSERT_TRUE(AllModelsMatch());
1413 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1415 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1414 } 1416 }
1415 1417
1416 // Test Scribe ID - 386586. 1418 // Test Scribe ID - 386586.
1417 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1419 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1418 MC_MergeSimpleBMHierarchyUnderBMBar) { 1420 MC_MergeSimpleBMHierarchyUnderBMBar) {
1419 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1421 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1420 DisableVerifier(); 1422 DisableVerifier();
1421 1423
1422 for (int i = 0; i < 3; ++i) { 1424 for (int i = 0; i < 3; ++i) {
1423 std::string title = IndexedURLTitle(i); 1425 std::string title = IndexedURLTitle(i);
1424 GURL url = GURL(IndexedURL(i)); 1426 GURL url = GURL(IndexedURL(i));
1425 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 1427 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
1426 ASSERT_TRUE(AddURL(1, i, title, url) != NULL); 1428 ASSERT_TRUE(AddURL(1, i, title, url) != nullptr);
1427 } 1429 }
1428 1430
1429 for (int i = 3; i < 10; ++i) { 1431 for (int i = 3; i < 10; ++i) {
1430 std::string title = IndexedURLTitle(i); 1432 std::string title = IndexedURLTitle(i);
1431 GURL url = GURL(IndexedURL(i)); 1433 GURL url = GURL(IndexedURL(i));
1432 ASSERT_TRUE(AddURL(1, i, title, url) != NULL); 1434 ASSERT_TRUE(AddURL(1, i, title, url) != nullptr);
1433 } 1435 }
1434 1436
1435 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1437 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1436 ASSERT_TRUE(AwaitQuiescence()); 1438 ASSERT_TRUE(AwaitQuiescence());
1437 ASSERT_TRUE(AllModelsMatch()); 1439 ASSERT_TRUE(AllModelsMatch());
1438 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1440 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1439 } 1441 }
1440 1442
1441 // Test Scribe ID - 386589. 1443 // Test Scribe ID - 386589.
1442 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1444 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1443 MC_MergeSimpleBMHierarchyEqualSetsUnderBMBar) { 1445 MC_MergeSimpleBMHierarchyEqualSetsUnderBMBar) {
1444 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1446 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1445 DisableVerifier(); 1447 DisableVerifier();
1446 1448
1447 for (int i = 0; i < 3; ++i) { 1449 for (int i = 0; i < 3; ++i) {
1448 std::string title = IndexedURLTitle(i); 1450 std::string title = IndexedURLTitle(i);
1449 GURL url = GURL(IndexedURL(i)); 1451 GURL url = GURL(IndexedURL(i));
1450 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 1452 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
1451 ASSERT_TRUE(AddURL(1, i, title, url) != NULL); 1453 ASSERT_TRUE(AddURL(1, i, title, url) != nullptr);
1452 } 1454 }
1453 1455
1454 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1456 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1455 ASSERT_TRUE(AwaitQuiescence()); 1457 ASSERT_TRUE(AwaitQuiescence());
1456 ASSERT_TRUE(AllModelsMatch()); 1458 ASSERT_TRUE(AllModelsMatch());
1457 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1459 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1458 } 1460 }
1459 1461
1460 // Test Scribe ID - 373504 - Merge bookmark folders with different bookmarks. 1462 // Test Scribe ID - 373504 - Merge bookmark folders with different bookmarks.
1461 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1463 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1462 MC_MergeBMFoldersWithDifferentBMs) { 1464 MC_MergeBMFoldersWithDifferentBMs) {
1463 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1465 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1464 DisableVerifier(); 1466 DisableVerifier();
1465 1467
1466 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName); 1468 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName);
1467 ASSERT_TRUE(folder0 != NULL); 1469 ASSERT_TRUE(folder0 != nullptr);
1468 const BookmarkNode* folder1 = AddFolder(1, kGenericFolderName); 1470 const BookmarkNode* folder1 = AddFolder(1, kGenericFolderName);
1469 ASSERT_TRUE(folder1 != NULL); 1471 ASSERT_TRUE(folder1 != nullptr);
1470 for (int i = 0; i < 2; ++i) { 1472 for (int i = 0; i < 2; ++i) {
1471 std::string title0 = IndexedURLTitle(2*i); 1473 std::string title0 = IndexedURLTitle(2*i);
1472 GURL url0 = GURL(IndexedURL(2*i)); 1474 GURL url0 = GURL(IndexedURL(2*i));
1473 ASSERT_TRUE(AddURL(0, folder0, i, title0, url0) != NULL); 1475 ASSERT_TRUE(AddURL(0, folder0, i, title0, url0) != nullptr);
1474 std::string title1 = IndexedURLTitle(2*i+1); 1476 std::string title1 = IndexedURLTitle(2*i+1);
1475 GURL url1 = GURL(IndexedURL(2*i+1)); 1477 GURL url1 = GURL(IndexedURL(2*i+1));
1476 ASSERT_TRUE(AddURL(1, folder1, i, title1, url1) != NULL); 1478 ASSERT_TRUE(AddURL(1, folder1, i, title1, url1) != nullptr);
1477 } 1479 }
1478 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1480 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1479 ASSERT_TRUE(AwaitQuiescence()); 1481 ASSERT_TRUE(AwaitQuiescence());
1480 ASSERT_TRUE(AllModelsMatch()); 1482 ASSERT_TRUE(AllModelsMatch());
1481 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1483 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1482 } 1484 }
1483 1485
1484 // Test Scribe ID - 373509 - Merge moderately complex bookmark models. 1486 // Test Scribe ID - 373509 - Merge moderately complex bookmark models.
1485 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1487 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1486 MC_MergeDifferentBMModelsModeratelyComplex) { 1488 MC_MergeDifferentBMModelsModeratelyComplex) {
1487 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1489 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1488 DisableVerifier(); 1490 DisableVerifier();
1489 1491
1490 for (int i = 0; i < 25; ++i) { 1492 for (int i = 0; i < 25; ++i) {
1491 std::string title0 = IndexedURLTitle(i); 1493 std::string title0 = IndexedURLTitle(i);
1492 GURL url0 = GURL(IndexedURL(i)); 1494 GURL url0 = GURL(IndexedURL(i));
1493 ASSERT_TRUE(AddURL(0, i, title0, url0) != NULL); 1495 ASSERT_TRUE(AddURL(0, i, title0, url0) != nullptr);
1494 std::string title1 = IndexedURLTitle(i+50); 1496 std::string title1 = IndexedURLTitle(i+50);
1495 GURL url1 = GURL(IndexedURL(i+50)); 1497 GURL url1 = GURL(IndexedURL(i+50));
1496 ASSERT_TRUE(AddURL(1, i, title1, url1) != NULL); 1498 ASSERT_TRUE(AddURL(1, i, title1, url1) != nullptr);
1497 } 1499 }
1498 for (int i = 25; i < 30; ++i) { 1500 for (int i = 25; i < 30; ++i) {
1499 std::string title0 = IndexedFolderName(i); 1501 std::string title0 = IndexedFolderName(i);
1500 const BookmarkNode* folder0 = AddFolder(0, i, title0); 1502 const BookmarkNode* folder0 = AddFolder(0, i, title0);
1501 ASSERT_TRUE(folder0 != NULL); 1503 ASSERT_TRUE(folder0 != nullptr);
1502 std::string title1 = IndexedFolderName(i+50); 1504 std::string title1 = IndexedFolderName(i+50);
1503 const BookmarkNode* folder1 = AddFolder(1, i, title1); 1505 const BookmarkNode* folder1 = AddFolder(1, i, title1);
1504 ASSERT_TRUE(folder1 != NULL); 1506 ASSERT_TRUE(folder1 != nullptr);
1505 for (int j = 0; j < 5; ++j) { 1507 for (int j = 0; j < 5; ++j) {
1506 std::string title0 = IndexedURLTitle(i+5*j); 1508 std::string title0 = IndexedURLTitle(i+5*j);
1507 GURL url0 = GURL(IndexedURL(i+5*j)); 1509 GURL url0 = GURL(IndexedURL(i+5*j));
1508 ASSERT_TRUE(AddURL(0, folder0, j, title0, url0) != NULL); 1510 ASSERT_TRUE(AddURL(0, folder0, j, title0, url0) != nullptr);
1509 std::string title1 = IndexedURLTitle(i+5*j+50); 1511 std::string title1 = IndexedURLTitle(i+5*j+50);
1510 GURL url1 = GURL(IndexedURL(i+5*j+50)); 1512 GURL url1 = GURL(IndexedURL(i+5*j+50));
1511 ASSERT_TRUE(AddURL(1, folder1, j, title1, url1) != NULL); 1513 ASSERT_TRUE(AddURL(1, folder1, j, title1, url1) != nullptr);
1512 } 1514 }
1513 } 1515 }
1514 for (int i = 100; i < 125; ++i) { 1516 for (int i = 100; i < 125; ++i) {
1515 std::string title = IndexedURLTitle(i); 1517 std::string title = IndexedURLTitle(i);
1516 GURL url = GURL(IndexedURL(i)); 1518 GURL url = GURL(IndexedURL(i));
1517 ASSERT_TRUE(AddURL(0, title, url) != NULL); 1519 ASSERT_TRUE(AddURL(0, title, url) != nullptr);
1518 ASSERT_TRUE(AddURL(1, title, url) != NULL); 1520 ASSERT_TRUE(AddURL(1, title, url) != nullptr);
1519 } 1521 }
1520 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1522 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1521 ASSERT_TRUE(AwaitQuiescence()); 1523 ASSERT_TRUE(AwaitQuiescence());
1522 ASSERT_TRUE(AllModelsMatch()); 1524 ASSERT_TRUE(AllModelsMatch());
1523 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1525 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1524 } 1526 }
1525 1527
1526 // TCM ID - 3675271 - Merge simple bookmark subset under bookmark folder. 1528 // TCM ID - 3675271 - Merge simple bookmark subset under bookmark folder.
1527 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1529 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1528 MC_MergeSimpleBMHierarchySubsetUnderBMFolder) { 1530 MC_MergeSimpleBMHierarchySubsetUnderBMFolder) {
1529 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1531 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1530 DisableVerifier(); 1532 DisableVerifier();
1531 1533
1532 for (int i = 0; i < 2; ++i) { 1534 for (int i = 0; i < 2; ++i) {
1533 const BookmarkNode* folder = AddFolder(i, kGenericFolderName); 1535 const BookmarkNode* folder = AddFolder(i, kGenericFolderName);
1534 ASSERT_TRUE(folder != NULL); 1536 ASSERT_TRUE(folder != nullptr);
1535 for (int j = 0; j < 4; ++j) { 1537 for (int j = 0; j < 4; ++j) {
1536 if (base::RandDouble() < 0.5) { 1538 if (base::RandDouble() < 0.5) {
1537 std::string title = IndexedURLTitle(j); 1539 std::string title = IndexedURLTitle(j);
1538 GURL url = GURL(IndexedURL(j)); 1540 GURL url = GURL(IndexedURL(j));
1539 ASSERT_TRUE(AddURL(i, folder, j, title, url) != NULL); 1541 ASSERT_TRUE(AddURL(i, folder, j, title, url) != nullptr);
1540 } else { 1542 } else {
1541 std::string title = IndexedFolderName(j); 1543 std::string title = IndexedFolderName(j);
1542 ASSERT_TRUE(AddFolder(i, folder, j, title) != NULL); 1544 ASSERT_TRUE(AddFolder(i, folder, j, title) != nullptr);
1543 } 1545 }
1544 } 1546 }
1545 } 1547 }
1546 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1548 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1547 ASSERT_TRUE(AwaitQuiescence()); 1549 ASSERT_TRUE(AwaitQuiescence());
1548 ASSERT_TRUE(AllModelsMatch()); 1550 ASSERT_TRUE(AllModelsMatch());
1549 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1551 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1550 } 1552 }
1551 1553
1552 // TCM ID - 3727284 - Merge subsets of bookmark under bookmark bar. 1554 // TCM ID - 3727284 - Merge subsets of bookmark under bookmark bar.
1553 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1555 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1554 MC_MergeSimpleBMHierarchySubsetUnderBookmarkBar) { 1556 MC_MergeSimpleBMHierarchySubsetUnderBookmarkBar) {
1555 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1557 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1556 DisableVerifier(); 1558 DisableVerifier();
1557 1559
1558 for (int i = 0; i < 4; ++i) { 1560 for (int i = 0; i < 4; ++i) {
1559 std::string title = IndexedURLTitle(i); 1561 std::string title = IndexedURLTitle(i);
1560 GURL url = GURL(IndexedURL(i)); 1562 GURL url = GURL(IndexedURL(i));
1561 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 1563 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
1562 } 1564 }
1563 1565
1564 for (int j = 0; j < 2; ++j) { 1566 for (int j = 0; j < 2; ++j) {
1565 std::string title = IndexedURLTitle(j); 1567 std::string title = IndexedURLTitle(j);
1566 GURL url = GURL(IndexedURL(j)); 1568 GURL url = GURL(IndexedURL(j));
1567 ASSERT_TRUE(AddURL(1, j, title, url) != NULL); 1569 ASSERT_TRUE(AddURL(1, j, title, url) != nullptr);
1568 } 1570 }
1569 1571
1570 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1572 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1571 ASSERT_TRUE(AwaitQuiescence()); 1573 ASSERT_TRUE(AwaitQuiescence());
1572 ASSERT_TRUE(AllModelsMatch()); 1574 ASSERT_TRUE(AllModelsMatch());
1573 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1575 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1574 ASSERT_FALSE(ContainsDuplicateBookmarks(1)); 1576 ASSERT_FALSE(ContainsDuplicateBookmarks(1));
1575 } 1577 }
1576 1578
1577 // TCM ID - 3659294 - Merge simple bookmark hierarchy under bookmark folder. 1579 // TCM ID - 3659294 - Merge simple bookmark hierarchy under bookmark folder.
1578 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1580 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1579 MC_Merge_SimpleBMHierarchy_Under_BMFolder) { 1581 MC_Merge_SimpleBMHierarchy_Under_BMFolder) {
1580 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1582 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1581 DisableVerifier(); 1583 DisableVerifier();
1582 1584
1583 const BookmarkNode* folder0 = AddFolder(0, 0, kGenericFolderName); 1585 const BookmarkNode* folder0 = AddFolder(0, 0, kGenericFolderName);
1584 ASSERT_TRUE(folder0 != NULL); 1586 ASSERT_TRUE(folder0 != nullptr);
1585 ASSERT_TRUE(AddURL( 1587 ASSERT_TRUE(AddURL(0, folder0, 0, IndexedURLTitle(1), GURL(IndexedURL(1))) !=
1586 0, folder0, 0, IndexedURLTitle(1), GURL(IndexedURL(1))) != NULL); 1588 nullptr);
1587 ASSERT_TRUE(AddFolder(0, folder0, 1, IndexedSubfolderName(2)) != NULL); 1589 ASSERT_TRUE(AddFolder(0, folder0, 1, IndexedSubfolderName(2)) != nullptr);
1588 ASSERT_TRUE(AddURL( 1590 ASSERT_TRUE(AddURL(0, folder0, 2, IndexedURLTitle(3), GURL(IndexedURL(3))) !=
1589 0, folder0, 2, IndexedURLTitle(3), GURL(IndexedURL(3))) != NULL); 1591 nullptr);
1590 ASSERT_TRUE(AddFolder(0, folder0, 3, IndexedSubfolderName(4)) != NULL); 1592 ASSERT_TRUE(AddFolder(0, folder0, 3, IndexedSubfolderName(4)) != nullptr);
1591 1593
1592 const BookmarkNode* folder1 = AddFolder(1, 0, kGenericFolderName); 1594 const BookmarkNode* folder1 = AddFolder(1, 0, kGenericFolderName);
1593 ASSERT_TRUE(folder1 != NULL); 1595 ASSERT_TRUE(folder1 != nullptr);
1594 ASSERT_TRUE(AddFolder(1, folder1, 0, IndexedSubfolderName(0)) != NULL); 1596 ASSERT_TRUE(AddFolder(1, folder1, 0, IndexedSubfolderName(0)) != nullptr);
1595 ASSERT_TRUE(AddFolder(1, folder1, 1, IndexedSubfolderName(2)) != NULL); 1597 ASSERT_TRUE(AddFolder(1, folder1, 1, IndexedSubfolderName(2)) != nullptr);
1596 ASSERT_TRUE(AddURL( 1598 ASSERT_TRUE(AddURL(1, folder1, 2, IndexedURLTitle(3), GURL(IndexedURL(3))) !=
1597 1, folder1, 2, IndexedURLTitle(3), GURL(IndexedURL(3))) != NULL); 1599 nullptr);
1598 ASSERT_TRUE(AddFolder(1, folder1, 3, IndexedSubfolderName(5)) != NULL); 1600 ASSERT_TRUE(AddFolder(1, folder1, 3, IndexedSubfolderName(5)) != nullptr);
1599 ASSERT_TRUE(AddURL( 1601 ASSERT_TRUE(AddURL(1, folder1, 4, IndexedURLTitle(1), GURL(IndexedURL(1))) !=
1600 1, folder1, 4, IndexedURLTitle(1), GURL(IndexedURL(1))) != NULL); 1602 nullptr);
1601 1603
1602 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1604 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1603 ASSERT_TRUE(AwaitQuiescence()); 1605 ASSERT_TRUE(AwaitQuiescence());
1604 ASSERT_TRUE(AllModelsMatch()); 1606 ASSERT_TRUE(AllModelsMatch());
1605 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1607 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1606 } 1608 }
1607 1609
1608 // TCM ID - 3711273 - Merge disjoint sets of bookmark hierarchy under bookmark 1610 // TCM ID - 3711273 - Merge disjoint sets of bookmark hierarchy under bookmark
1609 // folder. 1611 // folder.
1610 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1612 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1611 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BMFolder) { 1613 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BMFolder) {
1612 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1614 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1613 DisableVerifier(); 1615 DisableVerifier();
1614 1616
1615 const BookmarkNode* folder0 = 1617 const BookmarkNode* folder0 =
1616 AddFolder(0, 0, kGenericFolderName); 1618 AddFolder(0, 0, kGenericFolderName);
1617 ASSERT_TRUE(folder0 != NULL); 1619 ASSERT_TRUE(folder0 != nullptr);
1618 ASSERT_TRUE(AddURL( 1620 ASSERT_TRUE(AddURL(0, folder0, 0, IndexedURLTitle(1), GURL(IndexedURL(1))) !=
1619 0, folder0, 0, IndexedURLTitle(1), GURL(IndexedURL(1))) != NULL); 1621 nullptr);
1620 ASSERT_TRUE(AddFolder(0, folder0, 1, IndexedSubfolderName(2)) != NULL); 1622 ASSERT_TRUE(AddFolder(0, folder0, 1, IndexedSubfolderName(2)) != nullptr);
1621 ASSERT_TRUE(AddURL( 1623 ASSERT_TRUE(AddURL(0, folder0, 2, IndexedURLTitle(3), GURL(IndexedURL(3))) !=
1622 0, folder0, 2, IndexedURLTitle(3), GURL(IndexedURL(3))) != NULL); 1624 nullptr);
1623 ASSERT_TRUE(AddFolder(0, folder0, 3, IndexedSubfolderName(4)) != NULL); 1625 ASSERT_TRUE(AddFolder(0, folder0, 3, IndexedSubfolderName(4)) != nullptr);
1624 1626
1625 const BookmarkNode* folder1 = AddFolder(1, 0, kGenericFolderName); 1627 const BookmarkNode* folder1 = AddFolder(1, 0, kGenericFolderName);
1626 ASSERT_TRUE(folder1 != NULL); 1628 ASSERT_TRUE(folder1 != nullptr);
1627 ASSERT_TRUE(AddFolder(1, folder1, 0, IndexedSubfolderName(5)) != NULL); 1629 ASSERT_TRUE(AddFolder(1, folder1, 0, IndexedSubfolderName(5)) != nullptr);
1628 ASSERT_TRUE(AddFolder(1, folder1, 1, IndexedSubfolderName(6)) != NULL); 1630 ASSERT_TRUE(AddFolder(1, folder1, 1, IndexedSubfolderName(6)) != nullptr);
1629 ASSERT_TRUE(AddURL( 1631 ASSERT_TRUE(AddURL(1, folder1, 2, IndexedURLTitle(7), GURL(IndexedURL(7))) !=
1630 1, folder1, 2, IndexedURLTitle(7), GURL(IndexedURL(7))) != NULL); 1632 nullptr);
1631 ASSERT_TRUE(AddURL( 1633 ASSERT_TRUE(AddURL(1, folder1, 3, IndexedURLTitle(8), GURL(IndexedURL(8))) !=
1632 1, folder1, 3, IndexedURLTitle(8), GURL(IndexedURL(8))) != NULL); 1634 nullptr);
1633 1635
1634 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1636 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1635 ASSERT_TRUE(AwaitQuiescence()); 1637 ASSERT_TRUE(AwaitQuiescence());
1636 ASSERT_TRUE(AllModelsMatch()); 1638 ASSERT_TRUE(AllModelsMatch());
1637 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1639 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1638 } 1640 }
1639 1641
1640 // TCM ID - 3639296 - Merge disjoint sets of bookmark hierarchy under bookmark 1642 // TCM ID - 3639296 - Merge disjoint sets of bookmark hierarchy under bookmark
1641 // bar. 1643 // bar.
1642 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1644 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1643 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BookmarkBar) { 1645 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BookmarkBar) {
1644 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1646 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1645 DisableVerifier(); 1647 DisableVerifier();
1646 1648
1647 for (int i = 0; i < 3; ++i) { 1649 for (int i = 0; i < 3; ++i) {
1648 std::string title = IndexedURLTitle(i+1); 1650 std::string title = IndexedURLTitle(i+1);
1649 GURL url = GURL(IndexedURL(i+1)); 1651 GURL url = GURL(IndexedURL(i+1));
1650 ASSERT_TRUE(AddURL(0, i, title, url) != NULL); 1652 ASSERT_TRUE(AddURL(0, i, title, url) != nullptr);
1651 } 1653 }
1652 1654
1653 for (int j = 0; j < 3; ++j) { 1655 for (int j = 0; j < 3; ++j) {
1654 std::string title = IndexedURLTitle(j+4); 1656 std::string title = IndexedURLTitle(j+4);
1655 GURL url = GURL(IndexedURL(j+4)); 1657 GURL url = GURL(IndexedURL(j+4));
1656 ASSERT_TRUE(AddURL(0, j, title, url) != NULL); 1658 ASSERT_TRUE(AddURL(0, j, title, url) != nullptr);
1657 } 1659 }
1658 1660
1659 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1661 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1660 ASSERT_TRUE(AwaitQuiescence()); 1662 ASSERT_TRUE(AwaitQuiescence());
1661 ASSERT_TRUE(AllModelsMatch()); 1663 ASSERT_TRUE(AllModelsMatch());
1662 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1664 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1663 } 1665 }
1664 1666
1665 // TCM ID - 3616282 - Merge sets of duplicate bookmarks under bookmark bar. 1667 // TCM ID - 3616282 - Merge sets of duplicate bookmarks under bookmark bar.
1666 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1668 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1667 MC_Merge_SimpleBMHierarchy_DuplicateBMs_Under_BMBar) { 1669 MC_Merge_SimpleBMHierarchy_DuplicateBMs_Under_BMBar) {
1668 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1670 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1669 DisableVerifier(); 1671 DisableVerifier();
1670 1672
1671 // Let's add duplicate set of bookmark {1,2,2,3,3,3,4,4,4,4} to client0. 1673 // Let's add duplicate set of bookmark {1,2,2,3,3,3,4,4,4,4} to client0.
1672 int node_index = 0; 1674 int node_index = 0;
1673 for (int i = 1; i < 5 ; ++i) { 1675 for (int i = 1; i < 5 ; ++i) {
1674 for (int j = 0; j < i; ++j) { 1676 for (int j = 0; j < i; ++j) {
1675 std::string title = IndexedURLTitle(i); 1677 std::string title = IndexedURLTitle(i);
1676 GURL url = GURL(IndexedURL(i)); 1678 GURL url = GURL(IndexedURL(i));
1677 ASSERT_TRUE(AddURL(0, node_index, title, url) != NULL); 1679 ASSERT_TRUE(AddURL(0, node_index, title, url) != nullptr);
1678 ++node_index; 1680 ++node_index;
1679 } 1681 }
1680 } 1682 }
1681 // Let's add a set of bookmarks {1,2,3,4} to client1. 1683 // Let's add a set of bookmarks {1,2,3,4} to client1.
1682 for (int i = 0; i < 4; ++i) { 1684 for (int i = 0; i < 4; ++i) {
1683 std::string title = IndexedURLTitle(i+1); 1685 std::string title = IndexedURLTitle(i+1);
1684 GURL url = GURL(IndexedURL(i+1)); 1686 GURL url = GURL(IndexedURL(i+1));
1685 ASSERT_TRUE(AddURL(1, i, title, url) != NULL); 1687 ASSERT_TRUE(AddURL(1, i, title, url) != nullptr);
1686 } 1688 }
1687 1689
1688 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1690 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1689 ASSERT_TRUE(AwaitQuiescence()); 1691 ASSERT_TRUE(AwaitQuiescence());
1690 ASSERT_TRUE(AllModelsMatch()); 1692 ASSERT_TRUE(AllModelsMatch());
1691 1693
1692 for (int i = 1; i < 5 ; ++i) { 1694 for (int i = 1; i < 5 ; ++i) {
1693 ASSERT_TRUE(CountBookmarksWithTitlesMatching(1, IndexedURLTitle(i)) == i); 1695 ASSERT_TRUE(CountBookmarksWithTitlesMatching(1, IndexedURLTitle(i)) == i);
1694 } 1696 }
1695 } 1697 }
1696 1698
1697 // TCM ID - 6593872. 1699 // TCM ID - 6593872.
1698 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableBookmarks) { 1700 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableBookmarks) {
1699 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1701 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1700 ASSERT_TRUE(AllModelsMatchVerifier()); 1702 ASSERT_TRUE(AllModelsMatchVerifier());
1701 1703
1702 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::BOOKMARKS)); 1704 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::BOOKMARKS));
1703 ASSERT_TRUE(AddFolder(1, kGenericFolderName) != NULL); 1705 ASSERT_TRUE(AddFolder(1, kGenericFolderName) != nullptr);
1704 ASSERT_TRUE(AwaitQuiescence()); 1706 ASSERT_TRUE(AwaitQuiescence());
1705 ASSERT_FALSE(AllModelsMatch()); 1707 ASSERT_FALSE(AllModelsMatch());
1706 1708
1707 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncer::BOOKMARKS)); 1709 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncer::BOOKMARKS));
1708 ASSERT_TRUE(AwaitQuiescence()); 1710 ASSERT_TRUE(AwaitQuiescence());
1709 ASSERT_TRUE(AllModelsMatch()); 1711 ASSERT_TRUE(AllModelsMatch());
1710 } 1712 }
1711 1713
1712 // TCM ID - 7343544. 1714 // TCM ID - 7343544.
1713 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableSync) { 1715 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableSync) {
1714 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1716 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1715 ASSERT_TRUE(AllModelsMatchVerifier()); 1717 ASSERT_TRUE(AllModelsMatchVerifier());
1716 1718
1717 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); 1719 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes());
1718 ASSERT_TRUE(AddFolder(0, IndexedFolderName(0)) != NULL); 1720 ASSERT_TRUE(AddFolder(0, IndexedFolderName(0)) != nullptr);
1719 ASSERT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait()); 1721 ASSERT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait());
1720 ASSERT_FALSE(AllModelsMatch()); 1722 ASSERT_FALSE(AllModelsMatch());
1721 1723
1722 ASSERT_TRUE(AddFolder(1, IndexedFolderName(1)) != NULL); 1724 ASSERT_TRUE(AddFolder(1, IndexedFolderName(1)) != nullptr);
1723 ASSERT_FALSE(AllModelsMatch()); 1725 ASSERT_FALSE(AllModelsMatch());
1724 1726
1725 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes()); 1727 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes());
1726 ASSERT_TRUE(AwaitQuiescence()); 1728 ASSERT_TRUE(AwaitQuiescence());
1727 ASSERT_TRUE(AllModelsMatch()); 1729 ASSERT_TRUE(AllModelsMatch());
1728 } 1730 }
1729 1731
1730 // TCM ID - 3662298 - Test adding duplicate folder - Both with different BMs 1732 // TCM ID - 3662298 - Test adding duplicate folder - Both with different BMs
1731 // underneath. 1733 // underneath.
1732 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, MC_DuplicateFolders) { 1734 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, MC_DuplicateFolders) {
1733 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1735 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1734 DisableVerifier(); 1736 DisableVerifier();
1735 1737
1736 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName); 1738 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName);
1737 ASSERT_TRUE(folder0 != NULL); 1739 ASSERT_TRUE(folder0 != nullptr);
1738 const BookmarkNode* folder1 = AddFolder(1, kGenericFolderName); 1740 const BookmarkNode* folder1 = AddFolder(1, kGenericFolderName);
1739 ASSERT_TRUE(folder1 != NULL); 1741 ASSERT_TRUE(folder1 != nullptr);
1740 for (int i = 0; i < 5; ++i) { 1742 for (int i = 0; i < 5; ++i) {
1741 std::string title0 = IndexedURLTitle(i); 1743 std::string title0 = IndexedURLTitle(i);
1742 GURL url0 = GURL(IndexedURL(i)); 1744 GURL url0 = GURL(IndexedURL(i));
1743 ASSERT_TRUE(AddURL(0, folder0, i, title0, url0) != NULL); 1745 ASSERT_TRUE(AddURL(0, folder0, i, title0, url0) != nullptr);
1744 std::string title1 = IndexedURLTitle(i+5); 1746 std::string title1 = IndexedURLTitle(i+5);
1745 GURL url1 = GURL(IndexedURL(i+5)); 1747 GURL url1 = GURL(IndexedURL(i+5));
1746 ASSERT_TRUE(AddURL(1, folder1, i, title1, url1) != NULL); 1748 ASSERT_TRUE(AddURL(1, folder1, i, title1, url1) != nullptr);
1747 } 1749 }
1748 1750
1749 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1751 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1750 ASSERT_TRUE(AwaitQuiescence()); 1752 ASSERT_TRUE(AwaitQuiescence());
1751 ASSERT_TRUE(AllModelsMatch()); 1753 ASSERT_TRUE(AllModelsMatch());
1752 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1754 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1753 } 1755 }
1754 1756
1755 // This test fails when run with FakeServer and FakeServerInvalidationService. 1757 // This test fails when run with FakeServer and FakeServerInvalidationService.
1756 IN_PROC_BROWSER_TEST_F(LegacyTwoClientBookmarksSyncTest, MC_DeleteBookmark) { 1758 IN_PROC_BROWSER_TEST_F(LegacyTwoClientBookmarksSyncTest, MC_DeleteBookmark) {
1757 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1759 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1758 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::BOOKMARKS)); 1760 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::BOOKMARKS));
1759 1761
1760 const GURL bar_url("http://example.com/bar"); 1762 const GURL bar_url("http://example.com/bar");
1761 const GURL other_url("http://example.com/other"); 1763 const GURL other_url("http://example.com/other");
1762 1764
1763 ASSERT_TRUE(AddURL(0, GetBookmarkBarNode(0), 0, "bar", bar_url) != NULL); 1765 ASSERT_TRUE(AddURL(0, GetBookmarkBarNode(0), 0, "bar", bar_url) != nullptr);
1764 ASSERT_TRUE(AddURL(0, GetOtherNode(0), 0, "other", other_url) != NULL); 1766 ASSERT_TRUE(AddURL(0, GetOtherNode(0), 0, "other", other_url) != nullptr);
1765 1767
1766 ASSERT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait()); 1768 ASSERT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait());
1767 1769
1768 ASSERT_TRUE(HasNodeWithURL(0, bar_url)); 1770 ASSERT_TRUE(HasNodeWithURL(0, bar_url));
1769 ASSERT_TRUE(HasNodeWithURL(0, other_url)); 1771 ASSERT_TRUE(HasNodeWithURL(0, other_url));
1770 ASSERT_FALSE(HasNodeWithURL(1, bar_url)); 1772 ASSERT_FALSE(HasNodeWithURL(1, bar_url));
1771 ASSERT_FALSE(HasNodeWithURL(1, other_url)); 1773 ASSERT_FALSE(HasNodeWithURL(1, other_url));
1772 1774
1773 Remove(0, GetBookmarkBarNode(0), 0); 1775 Remove(0, GetBookmarkBarNode(0), 0);
1774 ASSERT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait()); 1776 ASSERT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait());
(...skipping 10 matching lines...) Expand all
1785 ASSERT_TRUE(HasNodeWithURL(1, other_url)); 1787 ASSERT_TRUE(HasNodeWithURL(1, other_url));
1786 } 1788 }
1787 1789
1788 // TCM ID - 3719307 - Test a scenario of updating the name of the same bookmark 1790 // TCM ID - 3719307 - Test a scenario of updating the name of the same bookmark
1789 // from two clients at the same time. 1791 // from two clients at the same time.
1790 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1792 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1791 MC_BookmarkNameChangeConflict) { 1793 MC_BookmarkNameChangeConflict) {
1792 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1794 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1793 1795
1794 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName); 1796 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName);
1795 ASSERT_TRUE(folder0 != NULL); 1797 ASSERT_TRUE(folder0 != nullptr);
1796 for (int i = 0; i < 3; ++i) { 1798 for (int i = 0; i < 3; ++i) {
1797 std::string title = IndexedURLTitle(i); 1799 std::string title = IndexedURLTitle(i);
1798 GURL url = GURL(IndexedURL(i)); 1800 GURL url = GURL(IndexedURL(i));
1799 ASSERT_TRUE(AddURL(0, folder0, i, title, url) != NULL); 1801 ASSERT_TRUE(AddURL(0, folder0, i, title, url) != nullptr);
1800 } 1802 }
1801 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1803 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1802 ASSERT_TRUE(AllModelsMatchVerifier()); 1804 ASSERT_TRUE(AllModelsMatchVerifier());
1803 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1805 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1804 1806
1805 DisableVerifier(); 1807 DisableVerifier();
1806 GURL url(IndexedURL(0)); 1808 GURL url(IndexedURL(0));
1807 SetTitle(0, GetUniqueNodeByURL(0, url), "Title++"); 1809 SetTitle(0, GetUniqueNodeByURL(0, url), "Title++");
1808 SetTitle(1, GetUniqueNodeByURL(1, url), "Title--"); 1810 SetTitle(1, GetUniqueNodeByURL(1, url), "Title--");
1809 1811
1810 ASSERT_TRUE(AwaitQuiescence()); 1812 ASSERT_TRUE(AwaitQuiescence());
1811 ASSERT_TRUE(AllModelsMatch()); 1813 ASSERT_TRUE(AllModelsMatch());
1812 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1814 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1813 } 1815 }
1814 1816
1815 // TCM ID - 3672299 - Test a scenario of updating the URL of the same bookmark 1817 // TCM ID - 3672299 - Test a scenario of updating the URL of the same bookmark
1816 // from two clients at the same time. 1818 // from two clients at the same time.
1817 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1819 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1818 MC_BookmarkURLChangeConflict) { 1820 MC_BookmarkURLChangeConflict) {
1819 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1821 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1820 1822
1821 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName); 1823 const BookmarkNode* folder0 = AddFolder(0, kGenericFolderName);
1822 ASSERT_TRUE(folder0 != NULL); 1824 ASSERT_TRUE(folder0 != nullptr);
1823 for (int i = 0; i < 3; ++i) { 1825 for (int i = 0; i < 3; ++i) {
1824 std::string title = IndexedURLTitle(i); 1826 std::string title = IndexedURLTitle(i);
1825 GURL url = GURL(IndexedURL(i)); 1827 GURL url = GURL(IndexedURL(i));
1826 ASSERT_TRUE(AddURL(0, folder0, i, title, url) != NULL); 1828 ASSERT_TRUE(AddURL(0, folder0, i, title, url) != nullptr);
1827 } 1829 }
1828 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1830 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1829 ASSERT_TRUE(AllModelsMatchVerifier()); 1831 ASSERT_TRUE(AllModelsMatchVerifier());
1830 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1832 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1831 1833
1832 DisableVerifier(); 1834 DisableVerifier();
1833 GURL url(IndexedURL(0)); 1835 GURL url(IndexedURL(0));
1834 ASSERT_TRUE(SetURL( 1836 ASSERT_TRUE(SetURL(
1835 0, GetUniqueNodeByURL(0, url), GURL("http://www.google.com/00"))); 1837 0, GetUniqueNodeByURL(0, url), GURL("http://www.google.com/00")));
1836 ASSERT_TRUE(SetURL( 1838 ASSERT_TRUE(SetURL(
(...skipping 10 matching lines...) Expand all
1847 MC_FolderNameChangeConflict) { 1849 MC_FolderNameChangeConflict) {
1848 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; 1850 ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
1849 DisableVerifier(); 1851 DisableVerifier();
1850 1852
1851 const BookmarkNode* folderA[2]; 1853 const BookmarkNode* folderA[2];
1852 const BookmarkNode* folderB[2]; 1854 const BookmarkNode* folderB[2];
1853 const BookmarkNode* folderC[2]; 1855 const BookmarkNode* folderC[2];
1854 1856
1855 // Create empty folder A on both clients. 1857 // Create empty folder A on both clients.
1856 folderA[0] = AddFolder(0, IndexedFolderName(0)); 1858 folderA[0] = AddFolder(0, IndexedFolderName(0));
1857 ASSERT_TRUE(folderA[0] != NULL); 1859 ASSERT_TRUE(folderA[0] != nullptr);
1858 folderA[1] = AddFolder(1, IndexedFolderName(0)); 1860 folderA[1] = AddFolder(1, IndexedFolderName(0));
1859 ASSERT_TRUE(folderA[1] != NULL); 1861 ASSERT_TRUE(folderA[1] != nullptr);
1860 1862
1861 // Create folder B with bookmarks on both clients. 1863 // Create folder B with bookmarks on both clients.
1862 folderB[0] = AddFolder(0, IndexedFolderName(1)); 1864 folderB[0] = AddFolder(0, IndexedFolderName(1));
1863 ASSERT_TRUE(folderB[0] != NULL); 1865 ASSERT_TRUE(folderB[0] != nullptr);
1864 folderB[1] = AddFolder(1, IndexedFolderName(1)); 1866 folderB[1] = AddFolder(1, IndexedFolderName(1));
1865 ASSERT_TRUE(folderB[1] != NULL); 1867 ASSERT_TRUE(folderB[1] != nullptr);
1866 for (int i = 0; i < 3; ++i) { 1868 for (int i = 0; i < 3; ++i) {
1867 std::string title = IndexedURLTitle(i); 1869 std::string title = IndexedURLTitle(i);
1868 GURL url = GURL(IndexedURL(i)); 1870 GURL url = GURL(IndexedURL(i));
1869 ASSERT_TRUE(AddURL(0, folderB[0], i, title, url) != NULL); 1871 ASSERT_TRUE(AddURL(0, folderB[0], i, title, url) != nullptr);
1870 } 1872 }
1871 1873
1872 // Create folder C with bookmarks and subfolders on both clients. 1874 // Create folder C with bookmarks and subfolders on both clients.
1873 folderC[0] = AddFolder(0, IndexedFolderName(2)); 1875 folderC[0] = AddFolder(0, IndexedFolderName(2));
1874 ASSERT_TRUE(folderC[0] != NULL); 1876 ASSERT_TRUE(folderC[0] != nullptr);
1875 folderC[1] = AddFolder(1, IndexedFolderName(2)); 1877 folderC[1] = AddFolder(1, IndexedFolderName(2));
1876 ASSERT_TRUE(folderC[1] != NULL); 1878 ASSERT_TRUE(folderC[1] != nullptr);
1877 for (int i = 0; i < 3; ++i) { 1879 for (int i = 0; i < 3; ++i) {
1878 std::string folder_name = IndexedSubfolderName(i); 1880 std::string folder_name = IndexedSubfolderName(i);
1879 const BookmarkNode* subfolder = AddFolder(0, folderC[0], i, folder_name); 1881 const BookmarkNode* subfolder = AddFolder(0, folderC[0], i, folder_name);
1880 ASSERT_TRUE(subfolder != NULL); 1882 ASSERT_TRUE(subfolder != nullptr);
1881 for (int j = 0; j < 3; ++j) { 1883 for (int j = 0; j < 3; ++j) {
1882 std::string title = IndexedURLTitle(j); 1884 std::string title = IndexedURLTitle(j);
1883 GURL url = GURL(IndexedURL(j)); 1885 GURL url = GURL(IndexedURL(j));
1884 ASSERT_TRUE(AddURL(0, subfolder, j, title, url) != NULL); 1886 ASSERT_TRUE(AddURL(0, subfolder, j, title, url) != nullptr);
1885 } 1887 }
1886 } 1888 }
1887 1889
1888 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1890 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1889 ASSERT_TRUE(AwaitQuiescence()); 1891 ASSERT_TRUE(AwaitQuiescence());
1890 ASSERT_TRUE(AllModelsMatch()); 1892 ASSERT_TRUE(AllModelsMatch());
1891 ASSERT_FALSE(ContainsDuplicateBookmarks(0)); 1893 ASSERT_FALSE(ContainsDuplicateBookmarks(0));
1892 1894
1893 // Simultaneously rename folder A on both clients. 1895 // Simultaneously rename folder A on both clients.
1894 SetTitle(0, folderA[0], "Folder A++"); 1896 SetTitle(0, folderA[0], "Folder A++");
(...skipping 28 matching lines...) Expand all
1923 ASSERT_TRUE(IsEncryptionComplete(1)); 1925 ASSERT_TRUE(IsEncryptionComplete(1));
1924 ASSERT_TRUE(AllModelsMatchVerifier()); 1926 ASSERT_TRUE(AllModelsMatchVerifier());
1925 } 1927 }
1926 1928
1927 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1929 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1928 SingleClientEnabledEncryptionAndChanged) { 1930 SingleClientEnabledEncryptionAndChanged) {
1929 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1931 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1930 ASSERT_TRUE(AllModelsMatchVerifier()); 1932 ASSERT_TRUE(AllModelsMatchVerifier());
1931 1933
1932 ASSERT_TRUE(EnableEncryption(0)); 1934 ASSERT_TRUE(EnableEncryption(0));
1933 ASSERT_TRUE(AddURL(0, IndexedURLTitle(0), GURL(IndexedURL(0))) != NULL); 1935 ASSERT_TRUE(AddURL(0, IndexedURLTitle(0), GURL(IndexedURL(0))) != nullptr);
1934 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1936 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1935 ASSERT_TRUE(IsEncryptionComplete(0)); 1937 ASSERT_TRUE(IsEncryptionComplete(0));
1936 ASSERT_TRUE(IsEncryptionComplete(1)); 1938 ASSERT_TRUE(IsEncryptionComplete(1));
1937 ASSERT_TRUE(AllModelsMatchVerifier()); 1939 ASSERT_TRUE(AllModelsMatchVerifier());
1938 } 1940 }
1939 1941
1940 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1942 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1941 BothClientsEnabledEncryption) { 1943 BothClientsEnabledEncryption) {
1942 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1944 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1943 ASSERT_TRUE(AllModelsMatchVerifier()); 1945 ASSERT_TRUE(AllModelsMatchVerifier());
1944 1946
1945 ASSERT_TRUE(EnableEncryption(0)); 1947 ASSERT_TRUE(EnableEncryption(0));
1946 ASSERT_TRUE(EnableEncryption(1)); 1948 ASSERT_TRUE(EnableEncryption(1));
1947 ASSERT_TRUE(AwaitQuiescence()); 1949 ASSERT_TRUE(AwaitQuiescence());
1948 ASSERT_TRUE(IsEncryptionComplete(0)); 1950 ASSERT_TRUE(IsEncryptionComplete(0));
1949 ASSERT_TRUE(IsEncryptionComplete(1)); 1951 ASSERT_TRUE(IsEncryptionComplete(1));
1950 ASSERT_TRUE(AllModelsMatchVerifier()); 1952 ASSERT_TRUE(AllModelsMatchVerifier());
1951 } 1953 }
1952 1954
1953 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1955 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1954 SingleClientEnabledEncryptionBothChanged) { 1956 SingleClientEnabledEncryptionBothChanged) {
1955 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1957 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1956 ASSERT_TRUE(AllModelsMatchVerifier()); 1958 ASSERT_TRUE(AllModelsMatchVerifier());
1957 1959
1958 ASSERT_TRUE(EnableEncryption(0)); 1960 ASSERT_TRUE(EnableEncryption(0));
1959 ASSERT_TRUE(AwaitQuiescence()); 1961 ASSERT_TRUE(AwaitQuiescence());
1960 ASSERT_TRUE(IsEncryptionComplete(0)); 1962 ASSERT_TRUE(IsEncryptionComplete(0));
1961 ASSERT_TRUE(IsEncryptionComplete(1)); 1963 ASSERT_TRUE(IsEncryptionComplete(1));
1962 ASSERT_TRUE(AddURL(0, IndexedURLTitle(0), GURL(IndexedURL(0))) != NULL); 1964 ASSERT_TRUE(AddURL(0, IndexedURLTitle(0), GURL(IndexedURL(0))) != nullptr);
1963 ASSERT_TRUE(AddURL(0, IndexedURLTitle(1), GURL(IndexedURL(1))) != NULL); 1965 ASSERT_TRUE(AddURL(0, IndexedURLTitle(1), GURL(IndexedURL(1))) != nullptr);
1964 ASSERT_TRUE(AwaitQuiescence()); 1966 ASSERT_TRUE(AwaitQuiescence());
1965 ASSERT_TRUE(AllModelsMatchVerifier()); 1967 ASSERT_TRUE(AllModelsMatchVerifier());
1966 ASSERT_TRUE(IsEncryptionComplete(0)); 1968 ASSERT_TRUE(IsEncryptionComplete(0));
1967 ASSERT_TRUE(IsEncryptionComplete(1)); 1969 ASSERT_TRUE(IsEncryptionComplete(1));
1968 } 1970 }
1969 1971
1970 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1972 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1971 SingleClientEnabledEncryptionAndChangedMultipleTimes) { 1973 SingleClientEnabledEncryptionAndChangedMultipleTimes) {
1972 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1974 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1973 ASSERT_TRUE(AllModelsMatchVerifier()); 1975 ASSERT_TRUE(AllModelsMatchVerifier());
1974 1976
1975 ASSERT_TRUE(AddURL(0, IndexedURLTitle(0), GURL(IndexedURL(0))) != NULL); 1977 ASSERT_TRUE(AddURL(0, IndexedURLTitle(0), GURL(IndexedURL(0))) != nullptr);
1976 ASSERT_TRUE(EnableEncryption(0)); 1978 ASSERT_TRUE(EnableEncryption(0));
1977 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1979 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1978 ASSERT_TRUE(IsEncryptionComplete(0)); 1980 ASSERT_TRUE(IsEncryptionComplete(0));
1979 ASSERT_TRUE(IsEncryptionComplete(1)); 1981 ASSERT_TRUE(IsEncryptionComplete(1));
1980 ASSERT_TRUE(AllModelsMatchVerifier()); 1982 ASSERT_TRUE(AllModelsMatchVerifier());
1981 1983
1982 ASSERT_TRUE(AddURL(0, IndexedURLTitle(1), GURL(IndexedURL(1))) != NULL); 1984 ASSERT_TRUE(AddURL(0, IndexedURLTitle(1), GURL(IndexedURL(1))) != nullptr);
1983 ASSERT_TRUE(AddFolder(0, IndexedFolderName(0)) != NULL); 1985 ASSERT_TRUE(AddFolder(0, IndexedFolderName(0)) != nullptr);
1984 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1986 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1985 ASSERT_TRUE(AllModelsMatchVerifier()); 1987 ASSERT_TRUE(AllModelsMatchVerifier());
1986 } 1988 }
1987 1989
1988 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 1990 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
1989 FirstClientEnablesEncryptionWithPassSecondChanges) { 1991 FirstClientEnablesEncryptionWithPassSecondChanges) {
1990 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1992 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
1991 ASSERT_TRUE(AllModelsMatchVerifier()); 1993 ASSERT_TRUE(AllModelsMatchVerifier());
1992 1994
1993 // Add initial bookmarks. 1995 // Add initial bookmarks.
1994 ASSERT_TRUE(AddURL(0, 0, IndexedURLTitle(0), GURL(IndexedURL(0))) != NULL); 1996 ASSERT_TRUE(AddURL(0, 0, IndexedURLTitle(0), GURL(IndexedURL(0))) != nullptr);
1995 ASSERT_TRUE(AddURL(0, 1, IndexedURLTitle(1), GURL(IndexedURL(1))) != NULL); 1997 ASSERT_TRUE(AddURL(0, 1, IndexedURLTitle(1), GURL(IndexedURL(1))) != nullptr);
1996 ASSERT_TRUE(AddURL(0, 2, IndexedURLTitle(2), GURL(IndexedURL(2))) != NULL); 1998 ASSERT_TRUE(AddURL(0, 2, IndexedURLTitle(2), GURL(IndexedURL(2))) != nullptr);
1997 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 1999 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
1998 ASSERT_TRUE(AllModelsMatchVerifier()); 2000 ASSERT_TRUE(AllModelsMatchVerifier());
1999 2001
2000 // Set a passphrase and enable encryption on Client 0. Client 1 will not 2002 // Set a passphrase and enable encryption on Client 0. Client 1 will not
2001 // understand the bookmark updates. 2003 // understand the bookmark updates.
2002 GetSyncService(0)->SetEncryptionPassphrase(kValidPassphrase, 2004 GetSyncService(0)->SetEncryptionPassphrase(kValidPassphrase,
2003 syncer::SyncService::EXPLICIT); 2005 syncer::SyncService::EXPLICIT);
2004 ASSERT_TRUE(PassphraseAcceptedChecker(GetSyncService(0)).Wait()); 2006 ASSERT_TRUE(PassphraseAcceptedChecker(GetSyncService(0)).Wait());
2005 ASSERT_TRUE(EnableEncryption(0)); 2007 ASSERT_TRUE(EnableEncryption(0));
2006 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 2008 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
2007 ASSERT_TRUE(IsEncryptionComplete(0)); 2009 ASSERT_TRUE(IsEncryptionComplete(0));
2008 ASSERT_TRUE(IsEncryptionComplete(1)); 2010 ASSERT_TRUE(IsEncryptionComplete(1));
2009 ASSERT_TRUE(GetSyncService(1)->IsPassphraseRequired()); 2011 ASSERT_TRUE(GetSyncService(1)->IsPassphraseRequired());
2010 2012
2011 // Client 1 adds bookmarks between the first two and between the second two. 2013 // Client 1 adds bookmarks between the first two and between the second two.
2012 ASSERT_TRUE(AddURL(0, 1, IndexedURLTitle(3), GURL(IndexedURL(3))) != NULL); 2014 ASSERT_TRUE(AddURL(0, 1, IndexedURLTitle(3), GURL(IndexedURL(3))) != nullptr);
2013 ASSERT_TRUE(AddURL(0, 3, IndexedURLTitle(4), GURL(IndexedURL(4))) != NULL); 2015 ASSERT_TRUE(AddURL(0, 3, IndexedURLTitle(4), GURL(IndexedURL(4))) != nullptr);
2014 EXPECT_FALSE(AllModelsMatchVerifier()); 2016 EXPECT_FALSE(AllModelsMatchVerifier());
2015 EXPECT_FALSE(AllModelsMatch()); 2017 EXPECT_FALSE(AllModelsMatch());
2016 2018
2017 // Set the passphrase. Everything should resolve. 2019 // Set the passphrase. Everything should resolve.
2018 ASSERT_TRUE(PassphraseRequiredChecker(GetSyncService(1)).Wait()); 2020 ASSERT_TRUE(PassphraseRequiredChecker(GetSyncService(1)).Wait());
2019 ASSERT_TRUE(GetSyncService(1)->SetDecryptionPassphrase(kValidPassphrase)); 2021 ASSERT_TRUE(GetSyncService(1)->SetDecryptionPassphrase(kValidPassphrase));
2020 ASSERT_TRUE(PassphraseAcceptedChecker(GetSyncService(1)).Wait()); 2022 ASSERT_TRUE(PassphraseAcceptedChecker(GetSyncService(1)).Wait());
2021 ASSERT_TRUE(AwaitQuiescence()); 2023 ASSERT_TRUE(AwaitQuiescence());
2022 EXPECT_TRUE(AllModelsMatch()); 2024 EXPECT_TRUE(AllModelsMatch());
2023 ASSERT_EQ(0, GetClient(1)->GetLastCycleSnapshot().num_encryption_conflicts()); 2025 ASSERT_EQ(0, GetClient(1)->GetLastCycleSnapshot().num_encryption_conflicts());
2024 2026
2025 // Ensure everything is syncing normally by appending a final bookmark. 2027 // Ensure everything is syncing normally by appending a final bookmark.
2026 ASSERT_TRUE(AddURL(1, 5, IndexedURLTitle(5), GURL(IndexedURL(5))) != NULL); 2028 ASSERT_TRUE(AddURL(1, 5, IndexedURLTitle(5), GURL(IndexedURL(5))) != nullptr);
2027 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 2029 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
2028 EXPECT_TRUE(AllModelsMatch()); 2030 EXPECT_TRUE(AllModelsMatch());
2029 ASSERT_EQ(0, GetClient(1)->GetLastCycleSnapshot().num_encryption_conflicts()); 2031 ASSERT_EQ(0, GetClient(1)->GetLastCycleSnapshot().num_encryption_conflicts());
2030 } 2032 }
2031 2033
2032 // Deliberately racy rearranging of bookmarks to test that our conflict resolver 2034 // Deliberately racy rearranging of bookmarks to test that our conflict resolver
2033 // code results in a consistent view across machines (no matter what the final 2035 // code results in a consistent view across machines (no matter what the final
2034 // order is). 2036 // order is).
2035 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, RacyPositionChanges) { 2037 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, RacyPositionChanges) {
2036 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 2038 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
2037 ASSERT_TRUE(AllModelsMatchVerifier()); 2039 ASSERT_TRUE(AllModelsMatchVerifier());
2038 2040
2039 // Add initial bookmarks. 2041 // Add initial bookmarks.
2040 size_t num_bookmarks = 5; 2042 size_t num_bookmarks = 5;
2041 for (size_t i = 0; i < num_bookmarks; ++i) { 2043 for (size_t i = 0; i < num_bookmarks; ++i) {
2042 ASSERT_TRUE(AddURL(0, i, IndexedURLTitle(i), GURL(IndexedURL(i))) != NULL); 2044 ASSERT_TRUE(AddURL(0, i, IndexedURLTitle(i), GURL(IndexedURL(i))) !=
2045 nullptr);
2043 } 2046 }
2044 2047
2045 // Once we make diverging changes the verifer is helpless. 2048 // Once we make diverging changes the verifer is helpless.
2046 ASSERT_TRUE(AwaitQuiescence()); 2049 ASSERT_TRUE(AwaitQuiescence());
2047 ASSERT_TRUE(AllModelsMatchVerifier()); 2050 ASSERT_TRUE(AllModelsMatchVerifier());
2048 DisableVerifier(); 2051 DisableVerifier();
2049 2052
2050 // Make changes on client 0. 2053 // Make changes on client 0.
2051 for (size_t i = 0; i < num_bookmarks; ++i) { 2054 for (size_t i = 0; i < num_bookmarks; ++i) {
2052 const BookmarkNode* node = GetUniqueNodeByURL(0, GURL(IndexedURL(i))); 2055 const BookmarkNode* node = GetUniqueNodeByURL(0, GURL(IndexedURL(i)));
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
2189 // Verify that the bookmark bar node is empty on both profiles too. 2192 // Verify that the bookmark bar node is empty on both profiles too.
2190 const BookmarkNode* bar_node0 = GetBookmarkBarNode(0); 2193 const BookmarkNode* bar_node0 = GetBookmarkBarNode(0);
2191 ASSERT_TRUE(bar_node0->empty()); 2194 ASSERT_TRUE(bar_node0->empty());
2192 ASSERT_TRUE(bar_node0->IsVisible()); 2195 ASSERT_TRUE(bar_node0->IsVisible());
2193 const BookmarkNode* bar_node1 = GetBookmarkBarNode(1); 2196 const BookmarkNode* bar_node1 = GetBookmarkBarNode(1);
2194 ASSERT_TRUE(bar_node1->empty()); 2197 ASSERT_TRUE(bar_node1->empty());
2195 ASSERT_TRUE(bar_node1->IsVisible()); 2198 ASSERT_TRUE(bar_node1->IsVisible());
2196 2199
2197 // Verify that adding a bookmark is observed by the second Profile. 2200 // Verify that adding a bookmark is observed by the second Profile.
2198 GURL google_url("http://www.google.com"); 2201 GURL google_url("http://www.google.com");
2199 ASSERT_TRUE(AddURL(0, "Google", google_url) != NULL); 2202 ASSERT_TRUE(AddURL(0, "Google", google_url) != nullptr);
2200 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 2203 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
2201 ASSERT_TRUE(AllModelsMatchVerifier()); 2204 ASSERT_TRUE(AllModelsMatchVerifier());
2202 ASSERT_EQ(1, bar_node0->child_count()); 2205 ASSERT_EQ(1, bar_node0->child_count());
2203 ASSERT_EQ(1, bar_node1->child_count()); 2206 ASSERT_EQ(1, bar_node1->child_count());
2204 2207
2205 // Set the ManagedBookmarks policy for the first Profile, 2208 // Set the ManagedBookmarks policy for the first Profile,
2206 // which will add one new managed bookmark. 2209 // which will add one new managed bookmark.
2207 std::unique_ptr<base::DictionaryValue> bookmark(new base::DictionaryValue()); 2210 std::unique_ptr<base::DictionaryValue> bookmark(new base::DictionaryValue());
2208 bookmark->SetString("name", "Managed bookmark"); 2211 bookmark->SetString("name", "Managed bookmark");
2209 bookmark->SetString("url", "youtube.com"); 2212 bookmark->SetString("url", "youtube.com");
2210 std::unique_ptr<base::ListValue> list(new base::ListValue()); 2213 std::unique_ptr<base::ListValue> list(new base::ListValue());
2211 list->Append(std::move(bookmark)); 2214 list->Append(std::move(bookmark));
2212 policy::PolicyMap policy; 2215 policy::PolicyMap policy;
2213 policy.Set(policy::key::kManagedBookmarks, policy::POLICY_LEVEL_MANDATORY, 2216 policy.Set(policy::key::kManagedBookmarks, policy::POLICY_LEVEL_MANDATORY,
2214 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD, 2217 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
2215 std::move(list), nullptr); 2218 std::move(list), nullptr);
2216 policy_provider_.UpdateChromePolicy(policy); 2219 policy_provider_.UpdateChromePolicy(policy);
2217 base::RunLoop().RunUntilIdle(); 2220 base::RunLoop().RunUntilIdle();
2218 2221
2219 // Now add another user bookmark and wait for it to sync. 2222 // Now add another user bookmark and wait for it to sync.
2220 ASSERT_TRUE(AddURL(0, "Google 2", google_url) != NULL); 2223 ASSERT_TRUE(AddURL(0, "Google 2", google_url) != nullptr);
2221 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 2224 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
2222 ASSERT_TRUE(AllModelsMatchVerifier()); 2225 ASSERT_TRUE(AllModelsMatchVerifier());
2223 2226
2224 EXPECT_FALSE(GetSyncService(0)->HasUnrecoverableError()); 2227 EXPECT_FALSE(GetSyncService(0)->HasUnrecoverableError());
2225 EXPECT_FALSE(GetSyncService(1)->HasUnrecoverableError()); 2228 EXPECT_FALSE(GetSyncService(1)->HasUnrecoverableError());
2226 2229
2227 // Verify that the managed bookmark exists in the local model of the first 2230 // Verify that the managed bookmark exists in the local model of the first
2228 // Profile, and has a child node. 2231 // Profile, and has a child node.
2229 ASSERT_EQ(1, managed_node0->child_count()); 2232 ASSERT_EQ(1, managed_node0->child_count());
2230 ASSERT_TRUE(managed_node0->IsVisible()); 2233 ASSERT_TRUE(managed_node0->IsVisible());
(...skipping 12 matching lines...) Expand all
2243 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 2246 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
2244 // All profiles should sync same bookmarks. 2247 // All profiles should sync same bookmarks.
2245 ASSERT_TRUE(BookmarksMatchChecker().Wait()) 2248 ASSERT_TRUE(BookmarksMatchChecker().Wait())
2246 << "Initial bookmark models did not match for all profiles"; 2249 << "Initial bookmark models did not match for all profiles";
2247 // For clean profiles, the bookmarks count should be zero. We are not 2250 // For clean profiles, the bookmarks count should be zero. We are not
2248 // enforcing this, we only check that the final count is equal to initial 2251 // enforcing this, we only check that the final count is equal to initial
2249 // count plus new bookmarks count. 2252 // count plus new bookmarks count.
2250 int init_bookmarks_count = CountAllBookmarks(0); 2253 int init_bookmarks_count = CountAllBookmarks(0);
2251 2254
2252 // Add one new bookmark to the first profile. 2255 // Add one new bookmark to the first profile.
2253 ASSERT_TRUE( 2256 ASSERT_TRUE(AddURL(0, "Google URL 0", GURL("http://www.google.com/0")) !=
2254 AddURL(0, "Google URL 0", GURL("http://www.google.com/0")) != NULL); 2257 nullptr);
2255 2258
2256 // Blocks and waits for bookmarks models in all profiles to match. 2259 // Blocks and waits for bookmarks models in all profiles to match.
2257 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2260 ASSERT_TRUE(BookmarksMatchChecker().Wait());
2258 // Check that total number of bookmarks is as expected. 2261 // Check that total number of bookmarks is as expected.
2259 for (int i = 0; i < num_clients(); ++i) { 2262 for (int i = 0; i < num_clients(); ++i) {
2260 ASSERT_EQ(CountAllBookmarks(i), init_bookmarks_count + 1) << 2263 ASSERT_EQ(CountAllBookmarks(i), init_bookmarks_count + 1) <<
2261 "Total bookmark count is wrong."; 2264 "Total bookmark count is wrong.";
2262 } 2265 }
2263 } 2266 }
2264 2267
2265 // TODO(shadi): crbug.com/569213: Enable this as E2E test. 2268 // TODO(shadi): crbug.com/569213: Enable this as E2E test.
2266 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 2269 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
2267 OneClientAddsFolderAndBookmark) { 2270 OneClientAddsFolderAndBookmark) {
2268 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 2271 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
2269 // All profiles should sync same bookmarks. 2272 // All profiles should sync same bookmarks.
2270 ASSERT_TRUE(BookmarksMatchChecker().Wait()) 2273 ASSERT_TRUE(BookmarksMatchChecker().Wait())
2271 << "Initial bookmark models did not match for all profiles"; 2274 << "Initial bookmark models did not match for all profiles";
2272 2275
2273 // Add one new bookmark to the first profile. 2276 // Add one new bookmark to the first profile.
2274 const BookmarkNode* new_folder = AddFolder(0, 0, "Folder 0"); 2277 const BookmarkNode* new_folder = AddFolder(0, 0, "Folder 0");
2275 ASSERT_TRUE(new_folder != NULL); 2278 ASSERT_TRUE(new_folder != nullptr);
2276 ASSERT_TRUE(AddURL(0, new_folder, 0, "Google URL 0", 2279 ASSERT_TRUE(AddURL(0, new_folder, 0, "Google URL 0",
2277 GURL("http://www.google.com/0")) != NULL); 2280 GURL("http://www.google.com/0")) != nullptr);
2278 2281
2279 // Blocks and waits for bookmarks models in all profiles to match. 2282 // Blocks and waits for bookmarks models in all profiles to match.
2280 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2283 ASSERT_TRUE(BookmarksMatchChecker().Wait());
2281 // Check that both profiles have the folder and the bookmark created above. 2284 // Check that both profiles have the folder and the bookmark created above.
2282 for (int i = 0; i < num_clients(); ++i) { 2285 for (int i = 0; i < num_clients(); ++i) {
2283 ASSERT_EQ(1, CountFoldersWithTitlesMatching(i, "Folder 0")) 2286 ASSERT_EQ(1, CountFoldersWithTitlesMatching(i, "Folder 0"))
2284 << "Failed to match the folder"; 2287 << "Failed to match the folder";
2285 ASSERT_EQ( 2288 ASSERT_EQ(
2286 1, CountBookmarksWithUrlsMatching(i, GURL("http://www.google.com/0"))) 2289 1, CountBookmarksWithUrlsMatching(i, GURL("http://www.google.com/0")))
2287 << "Failed to match the bookmark"; 2290 << "Failed to match the bookmark";
2288 } 2291 }
2289 } 2292 }
2290 2293
2291 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 2294 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
2292 E2E_ONLY(TwoClientsAddBookmarks)) { 2295 E2E_ONLY(TwoClientsAddBookmarks)) {
2293 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 2296 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
2294 // ALl profiles should sync same bookmarks. 2297 // ALl profiles should sync same bookmarks.
2295 ASSERT_TRUE(BookmarksMatchChecker().Wait()) 2298 ASSERT_TRUE(BookmarksMatchChecker().Wait())
2296 << "Initial bookmark models did not match for all profiles"; 2299 << "Initial bookmark models did not match for all profiles";
2297 // For clean profiles, the bookmarks count should be zero. We are not 2300 // For clean profiles, the bookmarks count should be zero. We are not
2298 // enforcing this, we only check that the final count is equal to initial 2301 // enforcing this, we only check that the final count is equal to initial
2299 // count plus new bookmarks count. 2302 // count plus new bookmarks count.
2300 int init_bookmarks_count = CountAllBookmarks(0); 2303 int init_bookmarks_count = CountAllBookmarks(0);
2301 2304
2302 // Add one new bookmark per profile. 2305 // Add one new bookmark per profile.
2303 for (int i = 0; i < num_clients(); ++i) { 2306 for (int i = 0; i < num_clients(); ++i) {
2304 ASSERT_TRUE(AddURL(i, base::StringPrintf("Google URL %d", i), 2307 ASSERT_TRUE(AddURL(i, base::StringPrintf("Google URL %d", i),
2305 GURL(base::StringPrintf("http://www.google.com/%d", i))) != NULL); 2308 GURL(base::StringPrintf("http://www.google.com/%d",
2309 i))) != nullptr);
2306 } 2310 }
2307 2311
2308 // Blocks and waits for bookmarks models in all profiles to match. 2312 // Blocks and waits for bookmarks models in all profiles to match.
2309 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2313 ASSERT_TRUE(BookmarksMatchChecker().Wait());
2310 2314
2311 // Check that total number of bookmarks is as expected. 2315 // Check that total number of bookmarks is as expected.
2312 for (int i = 0; i < num_clients(); ++i) { 2316 for (int i = 0; i < num_clients(); ++i) {
2313 ASSERT_EQ(CountAllBookmarks(i), init_bookmarks_count + num_clients()) << 2317 ASSERT_EQ(CountAllBookmarks(i), init_bookmarks_count + num_clients()) <<
2314 "Total bookmark count is wrong."; 2318 "Total bookmark count is wrong.";
2315 } 2319 }
2316 } 2320 }
2317 2321
2318 // Verify that a bookmark added on a client with bookmark syncing disabled gets 2322 // Verify that a bookmark added on a client with bookmark syncing disabled gets
2319 // synced to a second client once bookmark syncing is re-enabled. 2323 // synced to a second client once bookmark syncing is re-enabled.
2320 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, 2324 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest,
2321 E2E_ENABLED(AddBookmarkWhileDisabled)) { 2325 E2E_ENABLED(AddBookmarkWhileDisabled)) {
2322 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 2326 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
2323 ASSERT_TRUE(BookmarksMatchChecker().Wait()) 2327 ASSERT_TRUE(BookmarksMatchChecker().Wait())
2324 << "Initial bookmark models did not match for all profiles"; 2328 << "Initial bookmark models did not match for all profiles";
2325 const int initial_count = CountAllBookmarks(0); 2329 const int initial_count = CountAllBookmarks(0);
2326 2330
2327 // Verify that we can sync. Add a bookmark on the first client and verify it's 2331 // Verify that we can sync. Add a bookmark on the first client and verify it's
2328 // synced to the second client. 2332 // synced to the second client.
2329 const std::string url_title = "a happy little url"; 2333 const std::string url_title = "a happy little url";
2330 const GURL url("https://example.com"); 2334 const GURL url("https://example.com");
2331 ASSERT_TRUE(AddURL(0, GetBookmarkBarNode(0), 0, url_title, url) != NULL); 2335 ASSERT_TRUE(AddURL(0, GetBookmarkBarNode(0), 0, url_title, url) != nullptr);
2332 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2336 ASSERT_TRUE(BookmarksMatchChecker().Wait());
2333 ASSERT_EQ(initial_count + 1, CountAllBookmarks(0)); 2337 ASSERT_EQ(initial_count + 1, CountAllBookmarks(0));
2334 ASSERT_EQ(initial_count + 1, CountAllBookmarks(1)); 2338 ASSERT_EQ(initial_count + 1, CountAllBookmarks(1));
2335 2339
2336 // Disable bookmark syncing on the first client, add another bookmark, 2340 // Disable bookmark syncing on the first client, add another bookmark,
2337 // re-enable bookmark syncing and see that the second bookmark reaches the 2341 // re-enable bookmark syncing and see that the second bookmark reaches the
2338 // second client. 2342 // second client.
2339 ASSERT_TRUE(GetClient(0)->DisableSyncForDatatype(syncer::BOOKMARKS)); 2343 ASSERT_TRUE(GetClient(0)->DisableSyncForDatatype(syncer::BOOKMARKS));
2340 const std::string url_title_2 = "another happy little url"; 2344 const std::string url_title_2 = "another happy little url";
2341 const GURL url_2("https://example.com/second"); 2345 const GURL url_2("https://example.com/second");
2342 ASSERT_TRUE(AddURL(0, GetBookmarkBarNode(0), 0, url_title_2, url_2) != NULL); 2346 ASSERT_TRUE(AddURL(0, GetBookmarkBarNode(0), 0, url_title_2, url_2) !=
2347 nullptr);
2343 ASSERT_TRUE(GetClient(0)->EnableSyncForDatatype(syncer::BOOKMARKS)); 2348 ASSERT_TRUE(GetClient(0)->EnableSyncForDatatype(syncer::BOOKMARKS));
2344 ASSERT_TRUE(BookmarksMatchChecker().Wait()); 2349 ASSERT_TRUE(BookmarksMatchChecker().Wait());
2345 ASSERT_EQ(initial_count + 2, CountAllBookmarks(0)); 2350 ASSERT_EQ(initial_count + 2, CountAllBookmarks(0));
2346 ASSERT_EQ(initial_count + 2, CountAllBookmarks(1)); 2351 ASSERT_EQ(initial_count + 2, CountAllBookmarks(1));
2347 } 2352 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/test/integration/sync_test.cc ('k') | chrome/browser/sync/test/integration/typed_urls_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698