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

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

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

Powered by Google App Engine
This is Rietveld 408576698