OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "base/rand_util.h" |
| 6 #include "chrome/browser/profiles/profile.h" |
| 7 #include "chrome/browser/sync/profile_sync_service_harness.h" |
| 8 #include "chrome/test/live_sync/bookmarks_helper.h" |
| 9 #include "chrome/test/live_sync/live_sync_test.h" |
| 10 |
| 11 const std::string kGenericURL = "http://www.host.ext:1234/path/filename"; |
| 12 const std::wstring kGenericURLTitle = L"URL Title"; |
| 13 const std::wstring kGenericFolderName = L"Folder Name"; |
| 14 const std::wstring kGenericSubfolderName = L"Subfolder Name"; |
| 15 const std::wstring kGenericSubsubfolderName = L"Subsubfolder Name"; |
| 16 |
| 17 class TwoClientBookmarksSyncTest : public LiveSyncTest { |
| 18 public: |
| 19 TwoClientBookmarksSyncTest() : LiveSyncTest(TWO_CLIENT) {} |
| 20 virtual ~TwoClientBookmarksSyncTest() {} |
| 21 |
| 22 private: |
| 23 DISALLOW_COPY_AND_ASSIGN(TwoClientBookmarksSyncTest); |
| 24 }; |
| 25 |
| 26 const std::vector<unsigned char> GenericFavicon() { |
| 27 return BookmarksHelper::CreateFavicon(254); |
| 28 } |
| 29 |
| 30 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, Sanity) { |
| 31 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 32 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 33 |
| 34 GURL google_url("http://www.google.com"); |
| 35 ASSERT_TRUE(BookmarksHelper::AddURL(0, L"Google", google_url) != NULL); |
| 36 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 37 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 38 1, L"Yahoo", GURL("http://www.yahoo.com")) != NULL); |
| 39 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 40 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 41 |
| 42 const BookmarkNode* new_folder = |
| 43 BookmarksHelper::AddFolder(0, 2, L"New Folder"); |
| 44 BookmarksHelper::Move( |
| 45 0, BookmarksHelper::GetUniqueNodeByURL(0, google_url), new_folder, 0); |
| 46 BookmarksHelper::SetTitle( |
| 47 0, BookmarksHelper::GetBookmarkBarNode(0)->GetChild(0), L"Yahoo!!"); |
| 48 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 49 0, BookmarksHelper::GetBookmarkBarNode(0), 1, L"CNN", |
| 50 GURL("http://www.cnn.com")) != NULL); |
| 51 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 52 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 53 |
| 54 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 55 1, L"Facebook", GURL("http://www.facebook.com")) != NULL); |
| 56 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 57 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 58 |
| 59 BookmarksHelper::SortChildren(1, BookmarksHelper::GetBookmarkBarNode(1)); |
| 60 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 61 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 62 |
| 63 DisableVerifier(); |
| 64 BookmarksHelper::SetTitle( |
| 65 0, BookmarksHelper::GetUniqueNodeByURL(0, google_url), L"Google++"); |
| 66 BookmarksHelper::SetTitle( |
| 67 1, BookmarksHelper::GetUniqueNodeByURL(1, google_url), L"Google--"); |
| 68 ASSERT_TRUE(AwaitQuiescence()); |
| 69 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 70 } |
| 71 |
| 72 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SimultaneousURLChanges) { |
| 73 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 74 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 75 |
| 76 GURL initial_url("http://www.google.com"); |
| 77 GURL second_url("http://www.google.com/abc"); |
| 78 GURL third_url("http://www.google.com/def"); |
| 79 std::wstring title = L"Google"; |
| 80 |
| 81 ASSERT_TRUE(BookmarksHelper::AddURL(0, title, initial_url) != NULL); |
| 82 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 83 |
| 84 DisableVerifier(); |
| 85 ASSERT_TRUE(BookmarksHelper::SetURL( |
| 86 0, BookmarksHelper::GetUniqueNodeByURL( |
| 87 0, initial_url), second_url) != NULL); |
| 88 ASSERT_TRUE(BookmarksHelper::SetURL( |
| 89 1, BookmarksHelper::GetUniqueNodeByURL( |
| 90 1, initial_url), third_url) != NULL); |
| 91 ASSERT_TRUE(AwaitQuiescence()); |
| 92 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 93 |
| 94 BookmarksHelper::SetTitle( |
| 95 0, BookmarksHelper::GetBookmarkBarNode(0)->GetChild(0), L"Google1"); |
| 96 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 97 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 98 } |
| 99 |
| 100 // Test Scribe ID - 370558. |
| 101 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddFirstFolder) { |
| 102 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 103 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 104 |
| 105 ASSERT_TRUE(BookmarksHelper::AddFolder(0, kGenericFolderName) != NULL); |
| 106 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 107 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 108 } |
| 109 |
| 110 // Test Scribe ID - 370559. |
| 111 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 112 SC_AddFirstBMWithoutFavicon) { |
| 113 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 114 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 115 |
| 116 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 117 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); |
| 118 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 119 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 120 } |
| 121 |
| 122 // Test Scribe ID - 370489. |
| 123 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 124 SC_AddFirstBMWithFavicon) { |
| 125 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 126 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 127 |
| 128 const BookmarkNode* bookmark = BookmarksHelper::AddURL( |
| 129 0, kGenericURLTitle, GURL(kGenericURL)); |
| 130 ASSERT_TRUE(bookmark != NULL); |
| 131 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 132 BookmarksHelper::SetFavicon(0, bookmark, GenericFavicon()); |
| 133 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 134 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 135 } |
| 136 |
| 137 // Test Scribe ID - 370560. |
| 138 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_AddNonHTTPBMs) { |
| 139 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 140 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 141 |
| 142 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 143 0, L"FTP URL", GURL("ftp://user:password@host:1234/path")) != NULL); |
| 144 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 145 0, L"File URL", GURL("file://host/path")) != NULL); |
| 146 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 147 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 148 } |
| 149 |
| 150 // Test Scribe ID - 370561. |
| 151 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 152 SC_AddFirstBMUnderFolder) { |
| 153 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 154 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 155 |
| 156 const BookmarkNode* folder = |
| 157 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 158 ASSERT_TRUE(folder != NULL); |
| 159 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 160 0, folder, 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); |
| 161 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 162 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 163 } |
| 164 |
| 165 // Test Scribe ID - 370562. |
| 166 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 167 SC_AddSeveralBMsUnderBMBarAndOtherBM) { |
| 168 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 169 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 170 |
| 171 for (int i = 0; i < 20; ++i) { |
| 172 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 173 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 174 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 175 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 176 0, BookmarksHelper::GetOtherNode(0), i, title, url) != NULL); |
| 177 } |
| 178 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 179 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 180 } |
| 181 |
| 182 // Test Scribe ID - 370563. |
| 183 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 184 SC_AddSeveralBMsAndFolders) { |
| 185 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 186 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 187 |
| 188 for (int i = 0; i < 15; ++i) { |
| 189 if (base::RandDouble() > 0.6) { |
| 190 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 191 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 192 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 193 } else { |
| 194 std::wstring title = BookmarksHelper::IndexedFolderName(i); |
| 195 const BookmarkNode* folder = BookmarksHelper::AddFolder(0, i, title); |
| 196 ASSERT_TRUE(folder != NULL); |
| 197 if (base::RandDouble() > 0.4) { |
| 198 for (int i = 0; i < 20; ++i) { |
| 199 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 200 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 201 ASSERT_TRUE( |
| 202 BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 203 } |
| 204 } |
| 205 } |
| 206 } |
| 207 for (int i = 0; i < 10; i++) { |
| 208 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 209 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 210 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 211 0, BookmarksHelper::GetOtherNode(0), i, title, url) != NULL); |
| 212 } |
| 213 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 214 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 215 } |
| 216 |
| 217 // Test Scribe ID - 370641. |
| 218 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 219 SC_DuplicateBMWithDifferentURLSameName) { |
| 220 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 221 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 222 |
| 223 GURL url0 = GURL(BookmarksHelper::IndexedURL(0)); |
| 224 GURL url1 = GURL(BookmarksHelper::IndexedURL(1)); |
| 225 ASSERT_TRUE(BookmarksHelper::AddURL(0, kGenericURLTitle, url0) != NULL); |
| 226 ASSERT_TRUE(BookmarksHelper::AddURL(0, kGenericURLTitle, url1) != NULL); |
| 227 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 228 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 229 } |
| 230 |
| 231 // Test Scribe ID - 370639 - Add bookmarks with different name and same URL. |
| 232 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 233 SC_DuplicateBookmarksWithSameURL) { |
| 234 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 235 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 236 |
| 237 std::wstring title0 = BookmarksHelper::IndexedURLTitle(0); |
| 238 std::wstring title1 = BookmarksHelper::IndexedURLTitle(1); |
| 239 ASSERT_TRUE(BookmarksHelper::AddURL(0, title0, GURL(kGenericURL)) != NULL); |
| 240 ASSERT_TRUE(BookmarksHelper::AddURL(0, title1, GURL(kGenericURL)) != NULL); |
| 241 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 242 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 243 } |
| 244 |
| 245 // Test Scribe ID - 371817. |
| 246 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMName) { |
| 247 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 248 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 249 |
| 250 std::wstring title = BookmarksHelper::IndexedURLTitle(1); |
| 251 const BookmarkNode* bookmark = |
| 252 BookmarksHelper::AddURL(0, title, GURL(kGenericURL)); |
| 253 ASSERT_TRUE(bookmark != NULL); |
| 254 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 255 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 256 |
| 257 std::wstring new_title = BookmarksHelper::IndexedURLTitle(2); |
| 258 BookmarksHelper::SetTitle(0, bookmark, new_title); |
| 259 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 260 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 261 } |
| 262 |
| 263 // Test Scribe ID - 371822. |
| 264 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMURL) { |
| 265 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 266 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 267 |
| 268 GURL url = GURL(BookmarksHelper::IndexedURL(1)); |
| 269 const BookmarkNode* bookmark = |
| 270 BookmarksHelper::AddURL(0, kGenericURLTitle, url); |
| 271 ASSERT_TRUE(bookmark != NULL); |
| 272 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 273 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 274 |
| 275 GURL new_url = GURL(BookmarksHelper::IndexedURL(2)); |
| 276 ASSERT_TRUE(BookmarksHelper::SetURL(0, bookmark, new_url) != NULL); |
| 277 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 278 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 279 } |
| 280 |
| 281 |
| 282 // Test Scribe ID - 371818 - Renaming the same bookmark name twice. |
| 283 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 284 SC_TwiceRenamingBookmarkName) { |
| 285 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 286 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 287 |
| 288 std::wstring title = BookmarksHelper::IndexedURLTitle(1); |
| 289 const BookmarkNode* bookmark = |
| 290 BookmarksHelper::AddURL(0, title, GURL(kGenericURL)); |
| 291 ASSERT_TRUE(bookmark != NULL); |
| 292 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 293 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 294 |
| 295 std::wstring new_title = BookmarksHelper::IndexedURLTitle(2); |
| 296 BookmarksHelper::SetTitle(0, bookmark, new_title); |
| 297 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 298 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 299 |
| 300 BookmarksHelper::SetTitle(0, bookmark, title); |
| 301 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 302 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 303 } |
| 304 |
| 305 // Test Scribe ID - 371823 - Renaming the same bookmark URL twice. |
| 306 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 307 SC_TwiceRenamingBookmarkURL) { |
| 308 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 309 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 310 |
| 311 GURL url = GURL(BookmarksHelper::IndexedURL(1)); |
| 312 const BookmarkNode* bookmark = |
| 313 BookmarksHelper::AddURL(0, kGenericURLTitle, url); |
| 314 ASSERT_TRUE(bookmark != NULL); |
| 315 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 316 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 317 |
| 318 GURL new_url = GURL(BookmarksHelper::IndexedURL(2)); |
| 319 ASSERT_TRUE(BookmarksHelper::SetURL(0, bookmark, new_url) != NULL); |
| 320 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 321 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 322 |
| 323 ASSERT_TRUE(BookmarksHelper::SetURL(0, bookmark, url) != NULL); |
| 324 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 325 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 326 } |
| 327 |
| 328 // Test Scribe ID - 371824. |
| 329 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMFolder) { |
| 330 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 331 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 332 |
| 333 std::wstring title = BookmarksHelper::IndexedFolderName(1); |
| 334 const BookmarkNode* folder = BookmarksHelper::AddFolder(0, title); |
| 335 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 336 0, folder, 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); |
| 337 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 338 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 339 |
| 340 std::wstring new_title = BookmarksHelper::IndexedFolderName(2); |
| 341 BookmarksHelper::SetTitle(0, folder, new_title); |
| 342 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 343 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 344 } |
| 345 |
| 346 // Test Scribe ID - 371825. |
| 347 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameEmptyBMFolder) { |
| 348 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 349 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 350 |
| 351 std::wstring title = BookmarksHelper::IndexedFolderName(1); |
| 352 const BookmarkNode* folder = BookmarksHelper::AddFolder(0, title); |
| 353 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 354 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 355 |
| 356 std::wstring new_title = BookmarksHelper::IndexedFolderName(2); |
| 357 BookmarksHelper::SetTitle(0, folder, new_title); |
| 358 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 359 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 360 } |
| 361 |
| 362 // Test Scribe ID - 371826. |
| 363 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 364 SC_RenameBMFolderWithLongHierarchy) { |
| 365 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 366 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 367 |
| 368 std::wstring title = BookmarksHelper::IndexedFolderName(1); |
| 369 const BookmarkNode* folder = BookmarksHelper::AddFolder(0, title); |
| 370 ASSERT_TRUE(folder != NULL); |
| 371 for (int i = 0; i < 120; ++i) { |
| 372 if (base::RandDouble() > 0.15) { |
| 373 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 374 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 375 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 376 } else { |
| 377 std::wstring title = BookmarksHelper::IndexedSubfolderName(i); |
| 378 ASSERT_TRUE(BookmarksHelper::AddFolder(0, folder, i, title) != NULL); |
| 379 } |
| 380 } |
| 381 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 382 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 383 |
| 384 std::wstring new_title = BookmarksHelper::IndexedFolderName(2); |
| 385 BookmarksHelper::SetTitle(0, folder, new_title); |
| 386 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 387 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 388 } |
| 389 |
| 390 // Test Scribe ID - 371827. |
| 391 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 392 SC_RenameBMFolderThatHasParentAndChildren) { |
| 393 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 394 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 395 |
| 396 const BookmarkNode* folder = |
| 397 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 398 ASSERT_TRUE(folder != NULL); |
| 399 for (int i = 1; i < 15; ++i) { |
| 400 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 401 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 402 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 403 } |
| 404 std::wstring title = BookmarksHelper::IndexedSubfolderName(1); |
| 405 const BookmarkNode* subfolder = |
| 406 BookmarksHelper::AddFolder(0, folder, 0, title); |
| 407 for (int i = 0; i < 120; ++i) { |
| 408 if (base::RandDouble() > 0.15) { |
| 409 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 410 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 411 ASSERT_TRUE(BookmarksHelper::AddURL(0, subfolder, i, title, url) != NULL); |
| 412 } else { |
| 413 std::wstring title = BookmarksHelper::IndexedSubsubfolderName(i); |
| 414 ASSERT_TRUE(BookmarksHelper::AddFolder(0, subfolder, i, title) != NULL); |
| 415 } |
| 416 } |
| 417 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 418 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 419 |
| 420 std::wstring new_title = BookmarksHelper::IndexedSubfolderName(2); |
| 421 BookmarksHelper::SetTitle(0, subfolder, new_title); |
| 422 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 423 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 424 } |
| 425 |
| 426 // Test Scribe ID - 371828. |
| 427 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_RenameBMNameAndURL) { |
| 428 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 429 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 430 |
| 431 GURL url = GURL(BookmarksHelper::IndexedURL(1)); |
| 432 std::wstring title = BookmarksHelper::IndexedURLTitle(1); |
| 433 const BookmarkNode* bookmark = BookmarksHelper::AddURL(0, title, url); |
| 434 ASSERT_TRUE(bookmark != NULL); |
| 435 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 436 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 437 |
| 438 GURL new_url = GURL(BookmarksHelper::IndexedURL(2)); |
| 439 std::wstring new_title = BookmarksHelper::IndexedURLTitle(2); |
| 440 bookmark = BookmarksHelper::SetURL(0, bookmark, new_url); |
| 441 ASSERT_TRUE(bookmark != NULL); |
| 442 BookmarksHelper::SetTitle(0, bookmark, new_title); |
| 443 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 444 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 445 } |
| 446 |
| 447 // Test Scribe ID - 371832. |
| 448 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 449 SC_DeleteBMEmptyAccountAfterwards) { |
| 450 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 451 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 452 |
| 453 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 454 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); |
| 455 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 456 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 457 |
| 458 BookmarksHelper::Remove(0, BookmarksHelper::GetBookmarkBarNode(0), 0); |
| 459 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 460 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 461 } |
| 462 |
| 463 // Test Scribe ID - 371833. |
| 464 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 465 SC_DelBMNonEmptyAccountAfterwards) { |
| 466 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 467 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 468 |
| 469 for (int i = 0; i < 20; ++i) { |
| 470 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 471 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 472 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 473 } |
| 474 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 475 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 476 |
| 477 BookmarksHelper::Remove(0, BookmarksHelper::GetBookmarkBarNode(0), 0); |
| 478 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 479 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 480 } |
| 481 |
| 482 // Test Scribe ID - 371835. |
| 483 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 484 SC_DelFirstBMUnderBMFoldNonEmptyFoldAfterwards) { |
| 485 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 486 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 487 |
| 488 const BookmarkNode* folder = |
| 489 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 490 ASSERT_TRUE(folder != NULL); |
| 491 for (int i = 0; i < 10; ++i) { |
| 492 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 493 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 494 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 495 } |
| 496 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 497 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 498 |
| 499 BookmarksHelper::Remove(0, folder, 0); |
| 500 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 501 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 502 } |
| 503 |
| 504 // Test Scribe ID - 371836. |
| 505 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 506 SC_DelLastBMUnderBMFoldNonEmptyFoldAfterwards) { |
| 507 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 508 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 509 |
| 510 const BookmarkNode* folder = |
| 511 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 512 ASSERT_TRUE(folder != NULL); |
| 513 for (int i = 0; i < 10; ++i) { |
| 514 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 515 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 516 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 517 } |
| 518 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 519 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 520 |
| 521 BookmarksHelper::Remove(0, folder, folder->child_count() - 1); |
| 522 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 523 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 524 } |
| 525 |
| 526 // Test Scribe ID - 371856. |
| 527 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 528 SC_DelMiddleBMUnderBMFoldNonEmptyFoldAfterwards) { |
| 529 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 530 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 531 |
| 532 const BookmarkNode* folder = |
| 533 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 534 ASSERT_TRUE(folder != NULL); |
| 535 for (int i = 0; i < 10; ++i) { |
| 536 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 537 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 538 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 539 } |
| 540 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 541 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 542 |
| 543 BookmarksHelper::Remove(0, folder, 4); |
| 544 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 545 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 546 } |
| 547 |
| 548 // Test Scribe ID - 371857. |
| 549 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 550 SC_DelBMsUnderBMFoldEmptyFolderAfterwards) { |
| 551 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 552 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 553 |
| 554 const BookmarkNode* folder = |
| 555 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 556 ASSERT_TRUE(folder != NULL); |
| 557 for (int i = 0; i < 10; ++i) { |
| 558 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 559 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 560 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 561 } |
| 562 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 563 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 564 |
| 565 int child_count = folder->child_count(); |
| 566 for (int i = 0; i < child_count; ++i) { |
| 567 BookmarksHelper::Remove(0, folder, 0); |
| 568 } |
| 569 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 570 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 571 } |
| 572 |
| 573 // Test Scribe ID - 371858. |
| 574 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 575 SC_DelEmptyBMFoldEmptyAccountAfterwards) { |
| 576 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 577 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 578 |
| 579 ASSERT_TRUE(BookmarksHelper::AddFolder(0, kGenericFolderName) != NULL); |
| 580 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 581 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 582 |
| 583 BookmarksHelper::Remove(0, BookmarksHelper::GetBookmarkBarNode(0), 0); |
| 584 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 585 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 586 } |
| 587 |
| 588 // Test Scribe ID - 371869. |
| 589 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 590 SC_DelEmptyBMFoldNonEmptyAccountAfterwards) { |
| 591 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 592 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 593 |
| 594 ASSERT_TRUE(BookmarksHelper::AddFolder(0, kGenericFolderName) != NULL); |
| 595 for (int i = 1; i < 15; ++i) { |
| 596 if (base::RandDouble() > 0.6) { |
| 597 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 598 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 599 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 600 } else { |
| 601 std::wstring title = BookmarksHelper::IndexedFolderName(i); |
| 602 ASSERT_TRUE(BookmarksHelper::AddFolder(0, i, title) != NULL); |
| 603 } |
| 604 } |
| 605 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 606 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 607 |
| 608 BookmarksHelper::Remove(0, BookmarksHelper::GetBookmarkBarNode(0), 0); |
| 609 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 610 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 611 } |
| 612 |
| 613 // Test Scribe ID - 371879. |
| 614 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 615 SC_DelBMFoldWithBMsNonEmptyAccountAfterwards) { |
| 616 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 617 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 618 |
| 619 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 620 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); |
| 621 const BookmarkNode* folder = |
| 622 BookmarksHelper::AddFolder(0, 1, kGenericFolderName); |
| 623 ASSERT_TRUE(folder != NULL); |
| 624 for (int i = 2; i < 10; ++i) { |
| 625 if (base::RandDouble() > 0.6) { |
| 626 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 627 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 628 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 629 } else { |
| 630 std::wstring title = BookmarksHelper::IndexedFolderName(i); |
| 631 ASSERT_TRUE(BookmarksHelper::AddFolder(0, i, title) != NULL); |
| 632 } |
| 633 } |
| 634 for (int i = 0; i < 15; ++i) { |
| 635 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 636 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 637 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 638 } |
| 639 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 640 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 641 |
| 642 BookmarksHelper::Remove(0, BookmarksHelper::GetBookmarkBarNode(0), 1); |
| 643 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 644 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 645 } |
| 646 |
| 647 // Test Scribe ID - 371880. |
| 648 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 649 SC_DelBMFoldWithBMsAndBMFoldsNonEmptyACAfterwards) { |
| 650 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 651 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 652 |
| 653 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 654 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); |
| 655 const BookmarkNode* folder = |
| 656 BookmarksHelper::AddFolder(0, 1, kGenericFolderName); |
| 657 ASSERT_TRUE(folder != NULL); |
| 658 for (int i = 2; i < 10; ++i) { |
| 659 if (base::RandDouble() > 0.6) { |
| 660 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 661 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 662 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 663 } else { |
| 664 std::wstring title = BookmarksHelper::IndexedFolderName(i); |
| 665 ASSERT_TRUE(BookmarksHelper::AddFolder(0, i, title) != NULL); |
| 666 } |
| 667 } |
| 668 for (int i = 0; i < 10; ++i) { |
| 669 if (base::RandDouble() > 0.6) { |
| 670 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 671 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 672 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 673 } else { |
| 674 std::wstring title = BookmarksHelper::IndexedSubfolderName(i); |
| 675 const BookmarkNode* subfolder = |
| 676 BookmarksHelper::AddFolder(0, folder, i, title); |
| 677 ASSERT_TRUE(subfolder != NULL); |
| 678 if (base::RandDouble() > 0.3) { |
| 679 for (int j = 0; j < 10; ++j) { |
| 680 if (base::RandDouble() > 0.6) { |
| 681 std::wstring title = BookmarksHelper::IndexedURLTitle(j); |
| 682 GURL url = GURL(BookmarksHelper::IndexedURL(j)); |
| 683 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 684 0, subfolder, j, title, url) != NULL); |
| 685 } else { |
| 686 std::wstring title = BookmarksHelper::IndexedSubsubfolderName(j); |
| 687 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 688 0, subfolder, j, title) != NULL); |
| 689 } |
| 690 } |
| 691 } |
| 692 } |
| 693 } |
| 694 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 695 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 696 |
| 697 BookmarksHelper::Remove(0, BookmarksHelper::GetBookmarkBarNode(0), 1); |
| 698 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 699 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 700 } |
| 701 |
| 702 // Test Scribe ID - 371882. |
| 703 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 704 SC_DelBMFoldWithParentAndChildrenBMsAndBMFolds) { |
| 705 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 706 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 707 |
| 708 const BookmarkNode* folder = |
| 709 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 710 ASSERT_TRUE(folder != NULL); |
| 711 for (int i = 1; i < 11; ++i) { |
| 712 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 713 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 714 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 715 } |
| 716 const BookmarkNode* subfolder = |
| 717 BookmarksHelper::AddFolder(0, folder, 0, kGenericSubfolderName); |
| 718 ASSERT_TRUE(subfolder != NULL); |
| 719 for (int i = 0; i < 30; ++i) { |
| 720 if (base::RandDouble() > 0.2) { |
| 721 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 722 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 723 ASSERT_TRUE(BookmarksHelper::AddURL(0, subfolder, i, title, url) != NULL); |
| 724 } else { |
| 725 std::wstring title = BookmarksHelper::IndexedSubsubfolderName(i); |
| 726 ASSERT_TRUE(BookmarksHelper::AddFolder(0, subfolder, i, title) != NULL); |
| 727 } |
| 728 } |
| 729 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 730 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 731 |
| 732 BookmarksHelper::Remove(0, folder, 0); |
| 733 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 734 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 735 } |
| 736 |
| 737 // Test Scribe ID - 371931. |
| 738 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 739 SC_ReverseTheOrderOfTwoBMs) { |
| 740 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 741 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 742 |
| 743 GURL url0 = GURL(BookmarksHelper::IndexedURL(0)); |
| 744 GURL url1 = GURL(BookmarksHelper::IndexedURL(1)); |
| 745 std::wstring title0 = BookmarksHelper::IndexedURLTitle(0); |
| 746 std::wstring title1 = BookmarksHelper::IndexedURLTitle(1); |
| 747 const BookmarkNode* bookmark0 = BookmarksHelper::AddURL(0, 0, title0, url0); |
| 748 const BookmarkNode* bookmark1 = BookmarksHelper::AddURL(0, 1, title1, url1); |
| 749 ASSERT_TRUE(bookmark0 != NULL); |
| 750 ASSERT_TRUE(bookmark1 != NULL); |
| 751 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 752 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 753 |
| 754 BookmarksHelper::Move( |
| 755 0, bookmark0, BookmarksHelper::GetBookmarkBarNode(0), 2); |
| 756 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 757 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 758 } |
| 759 |
| 760 // Test Scribe ID - 371933. |
| 761 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 762 SC_ReverseTheOrderOf10BMs) { |
| 763 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 764 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 765 |
| 766 for (int i = 0; i < 10; ++i) { |
| 767 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 768 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 769 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 770 } |
| 771 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 772 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 773 |
| 774 BookmarksHelper::ReverseChildOrder(0, BookmarksHelper::GetBookmarkBarNode(0)); |
| 775 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 776 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 777 } |
| 778 |
| 779 // Test Scribe ID - 371954. |
| 780 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 781 SC_MovingBMsFromBMBarToBMFolder) { |
| 782 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 783 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 784 |
| 785 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 786 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); |
| 787 const BookmarkNode* folder = |
| 788 BookmarksHelper::AddFolder(0, 1, kGenericFolderName); |
| 789 ASSERT_TRUE(folder != NULL); |
| 790 for (int i = 2; i < 10; ++i) { |
| 791 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 792 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 793 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 794 } |
| 795 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 796 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 797 |
| 798 int num_bookmarks_to_move = |
| 799 BookmarksHelper::GetBookmarkBarNode(0)->child_count() - 2; |
| 800 for (int i = 0; i < num_bookmarks_to_move; ++i) { |
| 801 BookmarksHelper::Move( |
| 802 0, BookmarksHelper::GetBookmarkBarNode(0)->GetChild(2), folder, i); |
| 803 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 804 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 805 } |
| 806 } |
| 807 |
| 808 // Test Scribe ID - 371957. |
| 809 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 810 SC_MovingBMsFromBMFoldToBMBar) { |
| 811 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 812 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 813 |
| 814 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 815 0, kGenericURLTitle, GURL(kGenericURL)) != NULL); |
| 816 const BookmarkNode* folder = |
| 817 BookmarksHelper::AddFolder(0, 1, kGenericFolderName); |
| 818 ASSERT_TRUE(folder != NULL); |
| 819 for (int i = 0; i < 10; ++i) { |
| 820 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 821 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 822 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 823 } |
| 824 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 825 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 826 |
| 827 int num_bookmarks_to_move = folder->child_count() - 2; |
| 828 for (int i = 0; i < num_bookmarks_to_move; ++i) { |
| 829 BookmarksHelper::Move( |
| 830 0, folder->GetChild(0), BookmarksHelper::GetBookmarkBarNode(0), i); |
| 831 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 832 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 833 } |
| 834 } |
| 835 |
| 836 // Test Scribe ID - 371961. |
| 837 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 838 SC_MovingBMsFromParentBMFoldToChildBMFold) { |
| 839 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 840 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 841 |
| 842 const BookmarkNode* folder = |
| 843 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 844 ASSERT_TRUE(folder != NULL); |
| 845 for (int i = 0; i < 3; ++i) { |
| 846 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 847 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 848 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 849 } |
| 850 const BookmarkNode* subfolder = |
| 851 BookmarksHelper::AddFolder(0, folder, 3, kGenericSubfolderName); |
| 852 ASSERT_TRUE(subfolder != NULL); |
| 853 for (int i = 0; i < 10; ++i) { |
| 854 std::wstring title = BookmarksHelper::IndexedURLTitle(i + 3); |
| 855 GURL url = GURL(BookmarksHelper::IndexedURL(i + 3)); |
| 856 ASSERT_TRUE(BookmarksHelper::AddURL(0, subfolder, i, title, url) != NULL); |
| 857 } |
| 858 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 859 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 860 |
| 861 for (int i = 0; i < 3; ++i) { |
| 862 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 863 BookmarksHelper::Move( |
| 864 0, BookmarksHelper::GetUniqueNodeByURL(0, url), subfolder, i + 10); |
| 865 } |
| 866 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 867 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 868 } |
| 869 |
| 870 // Test Scribe ID - 371964. |
| 871 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 872 SC_MovingBMsFromChildBMFoldToParentBMFold) { |
| 873 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 874 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 875 |
| 876 const BookmarkNode* folder = |
| 877 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 878 ASSERT_TRUE(folder != NULL); |
| 879 for (int i = 0; i < 3; ++i) { |
| 880 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 881 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 882 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 883 } |
| 884 const BookmarkNode* subfolder = |
| 885 BookmarksHelper::AddFolder(0, folder, 3, kGenericSubfolderName); |
| 886 ASSERT_TRUE(subfolder != NULL); |
| 887 for (int i = 0; i < 5; ++i) { |
| 888 std::wstring title = BookmarksHelper::IndexedURLTitle(i + 3); |
| 889 GURL url = GURL(BookmarksHelper::IndexedURL(i + 3)); |
| 890 ASSERT_TRUE(BookmarksHelper::AddURL(0, subfolder, i, title, url) != NULL); |
| 891 } |
| 892 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 893 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 894 |
| 895 for (int i = 0; i < 3; ++i) { |
| 896 GURL url = GURL(BookmarksHelper::IndexedURL(i + 3)); |
| 897 BookmarksHelper::Move( |
| 898 0, BookmarksHelper::GetUniqueNodeByURL(0, url), folder, i + 4); |
| 899 } |
| 900 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 901 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 902 } |
| 903 |
| 904 // Test Scribe ID - 371967. |
| 905 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_HoistBMs10LevelUp) { |
| 906 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 907 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 908 |
| 909 const BookmarkNode* folder = BookmarksHelper::GetBookmarkBarNode(0); |
| 910 const BookmarkNode* folder_L0 = NULL; |
| 911 const BookmarkNode* folder_L10 = NULL; |
| 912 for (int level = 0; level < 15; ++level) { |
| 913 int num_bookmarks = base::RandInt(0, 9); |
| 914 for (int i = 0; i < num_bookmarks; ++i) { |
| 915 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 916 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 917 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 918 } |
| 919 std::wstring title = BookmarksHelper::IndexedFolderName(level); |
| 920 folder = BookmarksHelper::AddFolder( |
| 921 0, folder, folder->child_count(), title); |
| 922 ASSERT_TRUE(folder != NULL); |
| 923 if (level == 0) folder_L0 = folder; |
| 924 if (level == 10) folder_L10 = folder; |
| 925 } |
| 926 for (int i = 0; i < 3; ++i) { |
| 927 std::wstring title = BookmarksHelper::IndexedURLTitle(i + 10); |
| 928 GURL url = GURL(BookmarksHelper::IndexedURL(i + 10)); |
| 929 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder_L10, i, title, url) != NULL); |
| 930 } |
| 931 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 932 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 933 |
| 934 GURL url10 = GURL(BookmarksHelper::IndexedURL(10)); |
| 935 BookmarksHelper::Move( |
| 936 0, BookmarksHelper::GetUniqueNodeByURL( |
| 937 0, url10), folder_L0, folder_L0->child_count()); |
| 938 GURL url11 = GURL(BookmarksHelper::IndexedURL(11)); |
| 939 BookmarksHelper::Move( |
| 940 0, BookmarksHelper::GetUniqueNodeByURL(0, url11), folder_L0, 0); |
| 941 GURL url12 = GURL(BookmarksHelper::IndexedURL(12)); |
| 942 BookmarksHelper::Move( |
| 943 0, BookmarksHelper::GetUniqueNodeByURL(0, url12), folder_L0, 1); |
| 944 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 945 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 946 } |
| 947 |
| 948 // Test Scribe ID - 371968. |
| 949 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, SC_SinkBMs10LevelDown) { |
| 950 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 951 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 952 |
| 953 const BookmarkNode* folder = BookmarksHelper::GetBookmarkBarNode(0); |
| 954 const BookmarkNode* folder_L0 = NULL; |
| 955 const BookmarkNode* folder_L10 = NULL; |
| 956 for (int level = 0; level < 15; ++level) { |
| 957 int num_bookmarks = base::RandInt(0, 9); |
| 958 for (int i = 0; i < num_bookmarks; ++i) { |
| 959 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 960 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 961 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 962 } |
| 963 std::wstring title = BookmarksHelper::IndexedFolderName(level); |
| 964 folder = BookmarksHelper::AddFolder( |
| 965 0, folder, folder->child_count(), title); |
| 966 ASSERT_TRUE(folder != NULL); |
| 967 if (level == 0) folder_L0 = folder; |
| 968 if (level == 10) folder_L10 = folder; |
| 969 } |
| 970 for (int i = 0; i < 3; ++i) { |
| 971 std::wstring title = BookmarksHelper::IndexedURLTitle(i + 10); |
| 972 GURL url = GURL(BookmarksHelper::IndexedURL(i + 10)); |
| 973 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder_L0, 0, title, url) != NULL); |
| 974 } |
| 975 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 976 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 977 |
| 978 GURL url10 = GURL(BookmarksHelper::IndexedURL(10)); |
| 979 BookmarksHelper::Move( |
| 980 0, |
| 981 BookmarksHelper::GetUniqueNodeByURL(0, url10), |
| 982 folder_L10, |
| 983 folder_L10->child_count()); |
| 984 GURL url11 = GURL(BookmarksHelper::IndexedURL(11)); |
| 985 BookmarksHelper::Move( |
| 986 0, BookmarksHelper::GetUniqueNodeByURL(0, url11), folder_L10, 0); |
| 987 GURL url12 = GURL(BookmarksHelper::IndexedURL(12)); |
| 988 BookmarksHelper::Move( |
| 989 0, BookmarksHelper::GetUniqueNodeByURL(0, url12), folder_L10, 1); |
| 990 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 991 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 992 } |
| 993 |
| 994 // Test Scribe ID - 371980. |
| 995 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 996 SC_SinkEmptyBMFold5LevelsDown) { |
| 997 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 998 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 999 |
| 1000 const BookmarkNode* folder = BookmarksHelper::GetBookmarkBarNode(0); |
| 1001 const BookmarkNode* folder_L5 = NULL; |
| 1002 for (int level = 0; level < 15; ++level) { |
| 1003 int num_bookmarks = base::RandInt(0, 9); |
| 1004 for (int i = 0; i < num_bookmarks; ++i) { |
| 1005 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1006 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1007 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 1008 } |
| 1009 std::wstring title = BookmarksHelper::IndexedFolderName(level); |
| 1010 folder = BookmarksHelper::AddFolder( |
| 1011 0, folder, folder->child_count(), title); |
| 1012 ASSERT_TRUE(folder != NULL); |
| 1013 if (level == 5) folder_L5 = folder; |
| 1014 } |
| 1015 folder = BookmarksHelper::AddFolder( |
| 1016 0, |
| 1017 BookmarksHelper::GetBookmarkBarNode(0)->child_count(), |
| 1018 kGenericFolderName); |
| 1019 ASSERT_TRUE(folder != NULL); |
| 1020 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1021 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1022 |
| 1023 BookmarksHelper::Move(0, folder, folder_L5, folder_L5->child_count()); |
| 1024 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1025 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1026 } |
| 1027 |
| 1028 // Test Scribe ID - 371997. |
| 1029 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1030 SC_SinkNonEmptyBMFold5LevelsDown) { |
| 1031 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1032 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1033 |
| 1034 const BookmarkNode* folder = BookmarksHelper::GetBookmarkBarNode(0); |
| 1035 const BookmarkNode* folder_L5 = NULL; |
| 1036 for (int level = 0; level < 6; ++level) { |
| 1037 int num_bookmarks = base::RandInt(0, 9); |
| 1038 for (int i = 0; i < num_bookmarks; ++i) { |
| 1039 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1040 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1041 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 1042 } |
| 1043 std::wstring title = BookmarksHelper::IndexedFolderName(level); |
| 1044 folder = BookmarksHelper::AddFolder( |
| 1045 0, folder, folder->child_count(), title); |
| 1046 ASSERT_TRUE(folder != NULL); |
| 1047 if (level == 5) folder_L5 = folder; |
| 1048 } |
| 1049 folder = BookmarksHelper::AddFolder( |
| 1050 0, |
| 1051 BookmarksHelper::GetBookmarkBarNode(0)->child_count(), |
| 1052 kGenericFolderName); |
| 1053 ASSERT_TRUE(folder != NULL); |
| 1054 for (int i = 0; i < 10; ++i) { |
| 1055 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1056 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1057 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 1058 } |
| 1059 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1060 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1061 |
| 1062 BookmarksHelper::Move(0, folder, folder_L5, folder_L5->child_count()); |
| 1063 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1064 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1065 } |
| 1066 |
| 1067 // Test Scribe ID - 372006. |
| 1068 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1069 SC_HoistFolder5LevelsUp) { |
| 1070 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1071 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1072 |
| 1073 const BookmarkNode* folder = BookmarksHelper::GetBookmarkBarNode(0); |
| 1074 const BookmarkNode* folder_L5 = NULL; |
| 1075 for (int level = 0; level < 6; ++level) { |
| 1076 int num_bookmarks = base::RandInt(0, 9); |
| 1077 for (int i = 0; i < num_bookmarks; ++i) { |
| 1078 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1079 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1080 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 1081 } |
| 1082 std::wstring title = BookmarksHelper::IndexedFolderName(level); |
| 1083 folder = BookmarksHelper::AddFolder( |
| 1084 0, folder, folder->child_count(), title); |
| 1085 ASSERT_TRUE(folder != NULL); |
| 1086 if (level == 5) folder_L5 = folder; |
| 1087 } |
| 1088 folder = BookmarksHelper::AddFolder( |
| 1089 0, folder_L5, folder_L5->child_count(), kGenericFolderName); |
| 1090 ASSERT_TRUE(folder != NULL); |
| 1091 for (int i = 0; i < 10; ++i) { |
| 1092 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1093 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1094 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, i, title, url) != NULL); |
| 1095 } |
| 1096 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1097 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1098 |
| 1099 BookmarksHelper::Move(0, folder, BookmarksHelper::GetBookmarkBarNode(0), |
| 1100 BookmarksHelper::GetBookmarkBarNode(0)->child_count()); |
| 1101 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1102 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1103 } |
| 1104 |
| 1105 // Test Scribe ID - 372026. |
| 1106 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1107 SC_ReverseTheOrderOfTwoBMFolders) { |
| 1108 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1109 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1110 |
| 1111 for (int i = 0; i < 2; ++i) { |
| 1112 std::wstring title = BookmarksHelper::IndexedFolderName(i); |
| 1113 const BookmarkNode* folder = BookmarksHelper::AddFolder(0, i, title); |
| 1114 ASSERT_TRUE(folder != NULL); |
| 1115 for (int j = 0; j < 10; ++j) { |
| 1116 std::wstring title = BookmarksHelper::IndexedURLTitle(j); |
| 1117 GURL url = GURL(BookmarksHelper::IndexedURL(j)); |
| 1118 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, j, title, url) != NULL); |
| 1119 } |
| 1120 } |
| 1121 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1122 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1123 |
| 1124 BookmarksHelper::ReverseChildOrder(0, BookmarksHelper::GetBookmarkBarNode(0)); |
| 1125 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1126 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1127 } |
| 1128 |
| 1129 // Test Scribe ID - 372028. |
| 1130 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1131 SC_ReverseTheOrderOfTenBMFolders) { |
| 1132 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1133 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1134 |
| 1135 for (int i = 0; i < 10; ++i) { |
| 1136 std::wstring title = BookmarksHelper::IndexedFolderName(i); |
| 1137 const BookmarkNode* folder = BookmarksHelper::AddFolder(0, i, title); |
| 1138 ASSERT_TRUE(folder != NULL); |
| 1139 for (int j = 0; j < 10; ++j) { |
| 1140 std::wstring title = BookmarksHelper::IndexedURLTitle(1000 * i + j); |
| 1141 GURL url = GURL(BookmarksHelper::IndexedURL(j)); |
| 1142 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder, j, title, url) != NULL); |
| 1143 } |
| 1144 } |
| 1145 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1146 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1147 |
| 1148 BookmarksHelper::ReverseChildOrder(0, BookmarksHelper::GetBookmarkBarNode(0)); |
| 1149 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1150 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1151 } |
| 1152 |
| 1153 // Test Scribe ID - 373379. |
| 1154 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1155 MC_BiDirectionalPushAddingBM) { |
| 1156 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1157 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1158 |
| 1159 DisableVerifier(); |
| 1160 for (int i = 0; i < 2; ++i) { |
| 1161 std::wstring title0 = BookmarksHelper::IndexedURLTitle(2*i); |
| 1162 GURL url0 = GURL(BookmarksHelper::IndexedURL(2*i)); |
| 1163 ASSERT_TRUE(BookmarksHelper::AddURL(0, title0, url0) != NULL); |
| 1164 std::wstring title1 = BookmarksHelper::IndexedURLTitle(2*i+1); |
| 1165 GURL url1 = GURL(BookmarksHelper::IndexedURL(2*i+1)); |
| 1166 ASSERT_TRUE(BookmarksHelper::AddURL(1, title1, url1) != NULL); |
| 1167 } |
| 1168 ASSERT_TRUE(AwaitQuiescence()); |
| 1169 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1170 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1171 } |
| 1172 |
| 1173 // Test Scribe ID - 373503. |
| 1174 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1175 MC_BiDirectionalPush_AddingSameBMs) { |
| 1176 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1177 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1178 |
| 1179 // Note: When a racy commit is done with identical bookmarks, it is possible |
| 1180 // for duplicates to exist after sync completes. See http://crbug.com/19769. |
| 1181 DisableVerifier(); |
| 1182 for (int i = 0; i < 2; ++i) { |
| 1183 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1184 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1185 ASSERT_TRUE(BookmarksHelper::AddURL(0, title, url) != NULL); |
| 1186 ASSERT_TRUE(BookmarksHelper::AddURL(1, title, url) != NULL); |
| 1187 } |
| 1188 ASSERT_TRUE(AwaitQuiescence()); |
| 1189 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1190 } |
| 1191 |
| 1192 // Test Scribe ID - 373506. |
| 1193 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1194 MC_BootStrapEmptyStateEverywhere) { |
| 1195 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1196 ASSERT_TRUE(AwaitQuiescence()); |
| 1197 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1198 } |
| 1199 |
| 1200 // Test Scribe ID - 373505. |
| 1201 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1202 MC_Merge_CaseInsensitivity_InNames) { |
| 1203 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1204 DisableVerifier(); |
| 1205 |
| 1206 const BookmarkNode* folder0 = BookmarksHelper::AddFolder(0, L"Folder"); |
| 1207 ASSERT_TRUE(folder0 != NULL); |
| 1208 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1209 0, folder0, 0, L"Bookmark 0", GURL(kGenericURL)) != NULL); |
| 1210 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1211 0, folder0, 1, L"Bookmark 1", GURL(kGenericURL)) != NULL); |
| 1212 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1213 0, folder0, 2, L"Bookmark 2", GURL(kGenericURL)) != NULL); |
| 1214 |
| 1215 const BookmarkNode* folder1 = BookmarksHelper::AddFolder(1, L"fOlDeR"); |
| 1216 ASSERT_TRUE(folder1 != NULL); |
| 1217 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1218 1, folder1, 0, L"bOoKmArK 0", GURL(kGenericURL)) != NULL); |
| 1219 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1220 1, folder1, 1, L"BooKMarK 1", GURL(kGenericURL)) != NULL); |
| 1221 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1222 1, folder1, 2, L"bOOKMARK 2", GURL(kGenericURL)) != NULL); |
| 1223 |
| 1224 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1225 ASSERT_TRUE(AwaitQuiescence()); |
| 1226 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1227 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1228 } |
| 1229 |
| 1230 // Test Scribe ID - 373508. |
| 1231 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1232 MC_SimpleMergeOfDifferentBMModels) { |
| 1233 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1234 DisableVerifier(); |
| 1235 |
| 1236 for (int i = 0; i < 3; ++i) { |
| 1237 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1238 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1239 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 1240 ASSERT_TRUE(BookmarksHelper::AddURL(1, i, title, url) != NULL); |
| 1241 } |
| 1242 |
| 1243 for (int i = 3; i < 10; ++i) { |
| 1244 std::wstring title0 = BookmarksHelper::IndexedURLTitle(i); |
| 1245 GURL url0 = GURL(BookmarksHelper::IndexedURL(i)); |
| 1246 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title0, url0) != NULL); |
| 1247 std::wstring title1 = BookmarksHelper::IndexedURLTitle(i+7); |
| 1248 GURL url1 = GURL(BookmarksHelper::IndexedURL(i+7)); |
| 1249 ASSERT_TRUE(BookmarksHelper::AddURL(1, i, title1, url1) != NULL); |
| 1250 } |
| 1251 |
| 1252 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1253 ASSERT_TRUE(AwaitQuiescence()); |
| 1254 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1255 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1256 } |
| 1257 |
| 1258 // Test Scribe ID - 386586. |
| 1259 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1260 MC_MergeSimpleBMHierarchyUnderBMBar) { |
| 1261 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1262 DisableVerifier(); |
| 1263 |
| 1264 for (int i = 0; i < 3; ++i) { |
| 1265 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1266 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1267 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 1268 ASSERT_TRUE(BookmarksHelper::AddURL(1, i, title, url) != NULL); |
| 1269 } |
| 1270 |
| 1271 for (int i = 3; i < 10; ++i) { |
| 1272 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1273 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1274 ASSERT_TRUE(BookmarksHelper::AddURL(1, i, title, url) != NULL); |
| 1275 } |
| 1276 |
| 1277 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1278 ASSERT_TRUE(AwaitQuiescence()); |
| 1279 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1280 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1281 } |
| 1282 |
| 1283 // Test Scribe ID - 386589. |
| 1284 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1285 MC_MergeSimpleBMHierarchyEqualSetsUnderBMBar) { |
| 1286 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1287 DisableVerifier(); |
| 1288 |
| 1289 for (int i = 0; i < 3; ++i) { |
| 1290 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1291 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1292 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 1293 ASSERT_TRUE(BookmarksHelper::AddURL(1, i, title, url) != NULL); |
| 1294 } |
| 1295 |
| 1296 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1297 ASSERT_TRUE(AwaitQuiescence()); |
| 1298 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1299 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1300 } |
| 1301 |
| 1302 // Test Scribe ID - 373504 - Merge bookmark folders with different bookmarks. |
| 1303 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1304 MC_MergeBMFoldersWithDifferentBMs) { |
| 1305 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1306 DisableVerifier(); |
| 1307 |
| 1308 const BookmarkNode* folder0 = |
| 1309 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 1310 ASSERT_TRUE(folder0 != NULL); |
| 1311 const BookmarkNode* folder1 = |
| 1312 BookmarksHelper::AddFolder(1, kGenericFolderName); |
| 1313 ASSERT_TRUE(folder1 != NULL); |
| 1314 for (int i = 0; i < 2; ++i) { |
| 1315 std::wstring title0 = BookmarksHelper::IndexedURLTitle(2*i); |
| 1316 GURL url0 = GURL(BookmarksHelper::IndexedURL(2*i)); |
| 1317 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder0, i, title0, url0) != NULL); |
| 1318 std::wstring title1 = BookmarksHelper::IndexedURLTitle(2*i+1); |
| 1319 GURL url1 = GURL(BookmarksHelper::IndexedURL(2*i+1)); |
| 1320 ASSERT_TRUE(BookmarksHelper::AddURL(1, folder1, i, title1, url1) != NULL); |
| 1321 } |
| 1322 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1323 ASSERT_TRUE(AwaitQuiescence()); |
| 1324 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1325 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1326 } |
| 1327 |
| 1328 // Test Scribe ID - 373509 - Merge moderately complex bookmark models. |
| 1329 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1330 MC_MergeDifferentBMModelsModeratelyComplex) { |
| 1331 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1332 DisableVerifier(); |
| 1333 |
| 1334 for (int i = 0; i < 25; ++i) { |
| 1335 std::wstring title0 = BookmarksHelper::IndexedURLTitle(i); |
| 1336 GURL url0 = GURL(BookmarksHelper::IndexedURL(i)); |
| 1337 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title0, url0) != NULL); |
| 1338 std::wstring title1 = BookmarksHelper::IndexedURLTitle(i+50); |
| 1339 GURL url1 = GURL(BookmarksHelper::IndexedURL(i+50)); |
| 1340 ASSERT_TRUE(BookmarksHelper::AddURL(1, i, title1, url1) != NULL); |
| 1341 } |
| 1342 for (int i = 25; i < 30; ++i) { |
| 1343 std::wstring title0 = BookmarksHelper::IndexedFolderName(i); |
| 1344 const BookmarkNode* folder0 = BookmarksHelper::AddFolder(0, i, title0); |
| 1345 ASSERT_TRUE(folder0 != NULL); |
| 1346 std::wstring title1 = BookmarksHelper::IndexedFolderName(i+50); |
| 1347 const BookmarkNode* folder1 = BookmarksHelper::AddFolder(1, i, title1); |
| 1348 ASSERT_TRUE(folder1 != NULL); |
| 1349 for (int j = 0; j < 5; ++j) { |
| 1350 std::wstring title0 = BookmarksHelper::IndexedURLTitle(i+5*j); |
| 1351 GURL url0 = GURL(BookmarksHelper::IndexedURL(i+5*j)); |
| 1352 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder0, j, title0, url0) != NULL); |
| 1353 std::wstring title1 = BookmarksHelper::IndexedURLTitle(i+5*j+50); |
| 1354 GURL url1 = GURL(BookmarksHelper::IndexedURL(i+5*j+50)); |
| 1355 ASSERT_TRUE(BookmarksHelper::AddURL(1, folder1, j, title1, url1) != NULL); |
| 1356 } |
| 1357 } |
| 1358 for (int i = 100; i < 125; ++i) { |
| 1359 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1360 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1361 ASSERT_TRUE(BookmarksHelper::AddURL(0, title, url) != NULL); |
| 1362 ASSERT_TRUE(BookmarksHelper::AddURL(1, title, url) != NULL); |
| 1363 } |
| 1364 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1365 ASSERT_TRUE(AwaitQuiescence()); |
| 1366 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1367 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1368 } |
| 1369 |
| 1370 // TCM ID - 3675271 - Merge simple bookmark subset under bookmark folder. |
| 1371 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1372 MC_MergeSimpleBMHierarchySubsetUnderBMFolder) { |
| 1373 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1374 DisableVerifier(); |
| 1375 |
| 1376 for (int i = 0; i < 2; ++i) { |
| 1377 const BookmarkNode* folder = |
| 1378 BookmarksHelper::AddFolder(i, kGenericFolderName); |
| 1379 ASSERT_TRUE(folder != NULL); |
| 1380 for (int j = 0; j < 4; ++j) { |
| 1381 if (base::RandDouble() < 0.5) { |
| 1382 std::wstring title = BookmarksHelper::IndexedURLTitle(j); |
| 1383 GURL url = GURL(BookmarksHelper::IndexedURL(j)); |
| 1384 ASSERT_TRUE(BookmarksHelper::AddURL(i, folder, j, title, url) != NULL); |
| 1385 } else { |
| 1386 std::wstring title = BookmarksHelper::IndexedFolderName(j); |
| 1387 ASSERT_TRUE(BookmarksHelper::AddFolder(i, folder, j, title) != NULL); |
| 1388 } |
| 1389 } |
| 1390 } |
| 1391 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1392 ASSERT_TRUE(AwaitQuiescence()); |
| 1393 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1394 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1395 } |
| 1396 |
| 1397 // TCM ID - 3727284 - Merge subsets of bookmark under bookmark bar. |
| 1398 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1399 MC_MergeSimpleBMHierarchySubsetUnderBookmarkBar) { |
| 1400 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1401 DisableVerifier(); |
| 1402 |
| 1403 for (int i = 0; i < 4; ++i) { |
| 1404 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1405 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1406 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 1407 } |
| 1408 |
| 1409 for (int j = 0; j < 2; ++j) { |
| 1410 std::wstring title = BookmarksHelper::IndexedURLTitle(j); |
| 1411 GURL url = GURL(BookmarksHelper::IndexedURL(j)); |
| 1412 ASSERT_TRUE(BookmarksHelper::AddURL(1, j, title, url) != NULL); |
| 1413 } |
| 1414 |
| 1415 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1416 ASSERT_TRUE(AwaitQuiescence()); |
| 1417 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1418 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1419 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(1)); |
| 1420 } |
| 1421 |
| 1422 // TCM ID - 3659294 - Merge simple bookmark hierarchy under bookmark folder. |
| 1423 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1424 MC_Merge_SimpleBMHierarchy_Under_BMFolder) { |
| 1425 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1426 DisableVerifier(); |
| 1427 |
| 1428 const BookmarkNode* folder0 = |
| 1429 BookmarksHelper::AddFolder(0, 0, kGenericFolderName); |
| 1430 ASSERT_TRUE(folder0 != NULL); |
| 1431 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1432 0, folder0, 0, BookmarksHelper::IndexedURLTitle(1), |
| 1433 GURL(BookmarksHelper::IndexedURL(1))) != NULL); |
| 1434 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1435 0, folder0, 1, BookmarksHelper::IndexedSubfolderName(2)) != NULL); |
| 1436 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1437 0, folder0, 2, BookmarksHelper::IndexedURLTitle(3), |
| 1438 GURL(BookmarksHelper::IndexedURL(3))) != NULL); |
| 1439 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1440 0, folder0, 3, BookmarksHelper::IndexedSubfolderName(4)) != NULL); |
| 1441 |
| 1442 const BookmarkNode* folder1 = |
| 1443 BookmarksHelper::AddFolder(1, 0, kGenericFolderName); |
| 1444 ASSERT_TRUE(folder1 != NULL); |
| 1445 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1446 1, folder1, 0, BookmarksHelper::IndexedSubfolderName(0)) != NULL); |
| 1447 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1448 1, folder1, 1, BookmarksHelper::IndexedSubfolderName(2)) != NULL); |
| 1449 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1450 1, folder1, 2, BookmarksHelper::IndexedURLTitle(3), |
| 1451 GURL(BookmarksHelper::IndexedURL(3))) != NULL); |
| 1452 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1453 1, folder1, 3, BookmarksHelper::IndexedSubfolderName(5)) != NULL); |
| 1454 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1455 1, folder1, 4, BookmarksHelper::IndexedURLTitle(1), |
| 1456 GURL(BookmarksHelper::IndexedURL(1))) != NULL); |
| 1457 |
| 1458 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1459 ASSERT_TRUE(AwaitQuiescence()); |
| 1460 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1461 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1462 } |
| 1463 |
| 1464 // TCM ID - 3711273 - Merge disjoint sets of bookmark hierarchy under bookmark |
| 1465 // folder. |
| 1466 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1467 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BMFolder) { |
| 1468 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1469 DisableVerifier(); |
| 1470 |
| 1471 const BookmarkNode* folder0 = |
| 1472 BookmarksHelper::AddFolder(0, 0, kGenericFolderName); |
| 1473 ASSERT_TRUE(folder0 != NULL); |
| 1474 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1475 0, folder0, 0, BookmarksHelper::IndexedURLTitle(1), |
| 1476 GURL(BookmarksHelper::IndexedURL(1))) != NULL); |
| 1477 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1478 0, folder0, 1, BookmarksHelper::IndexedSubfolderName(2)) != NULL); |
| 1479 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1480 0, folder0, 2, BookmarksHelper::IndexedURLTitle(3), |
| 1481 GURL(BookmarksHelper::IndexedURL(3))) != NULL); |
| 1482 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1483 0, folder0, 3, BookmarksHelper::IndexedSubfolderName(4)) != NULL); |
| 1484 |
| 1485 const BookmarkNode* folder1 = |
| 1486 BookmarksHelper::AddFolder(1, 0, kGenericFolderName); |
| 1487 ASSERT_TRUE(folder1 != NULL); |
| 1488 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1489 1, folder1, 0, BookmarksHelper::IndexedSubfolderName(5)) != NULL); |
| 1490 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1491 1, folder1, 1, BookmarksHelper::IndexedSubfolderName(6)) != NULL); |
| 1492 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1493 1, folder1, 2, BookmarksHelper::IndexedURLTitle(7), |
| 1494 GURL(BookmarksHelper::IndexedURL(7))) != NULL); |
| 1495 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1496 1, folder1, 3, BookmarksHelper::IndexedURLTitle(8), |
| 1497 GURL(BookmarksHelper::IndexedURL(8))) != NULL); |
| 1498 |
| 1499 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1500 ASSERT_TRUE(AwaitQuiescence()); |
| 1501 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1502 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1503 } |
| 1504 |
| 1505 // TCM ID - 3639296 - Merge disjoint sets of bookmark hierarchy under bookmark |
| 1506 // bar. |
| 1507 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1508 MC_Merge_SimpleBMHierarchy_DisjointSets_Under_BookmarkBar) { |
| 1509 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1510 DisableVerifier(); |
| 1511 |
| 1512 for (int i = 0; i < 3; ++i) { |
| 1513 std::wstring title = BookmarksHelper::IndexedURLTitle(i+1); |
| 1514 GURL url = GURL(BookmarksHelper::IndexedURL(i+1)); |
| 1515 ASSERT_TRUE(BookmarksHelper::AddURL(0, i, title, url) != NULL); |
| 1516 } |
| 1517 |
| 1518 for (int j = 0; j < 3; ++j) { |
| 1519 std::wstring title = BookmarksHelper::IndexedURLTitle(j+4); |
| 1520 GURL url = GURL(BookmarksHelper::IndexedURL(j+4)); |
| 1521 ASSERT_TRUE(BookmarksHelper::AddURL(0, j, title, url) != NULL); |
| 1522 } |
| 1523 |
| 1524 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1525 ASSERT_TRUE(AwaitQuiescence()); |
| 1526 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1527 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1528 } |
| 1529 |
| 1530 // TCM ID - 3616282 - Merge sets of duplicate bookmarks under bookmark bar. |
| 1531 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1532 MC_Merge_SimpleBMHierarchy_DuplicateBMs_Under_BMBar) { |
| 1533 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1534 DisableVerifier(); |
| 1535 |
| 1536 // Let's add duplicate set of bookmark {1,2,2,3,3,3,4,4,4,4} to client0. |
| 1537 int node_index = 0; |
| 1538 for (int i = 1; i < 5 ; ++i) { |
| 1539 for (int j = 0; j < i; ++j) { |
| 1540 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1541 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1542 ASSERT_TRUE(BookmarksHelper::AddURL(0, node_index, title, url) != NULL); |
| 1543 ++node_index; |
| 1544 } |
| 1545 } |
| 1546 // Let's add a set of bookmarks {1,2,3,4} to client1. |
| 1547 for (int i = 0; i < 4; ++i) { |
| 1548 std::wstring title = BookmarksHelper::IndexedURLTitle(i+1); |
| 1549 GURL url = GURL(BookmarksHelper::IndexedURL(i+1)); |
| 1550 ASSERT_TRUE(BookmarksHelper::AddURL(1, i, title, url) != NULL); |
| 1551 } |
| 1552 |
| 1553 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1554 ASSERT_TRUE(AwaitQuiescence()); |
| 1555 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1556 |
| 1557 for (int i = 1; i < 5 ; ++i) { |
| 1558 ASSERT_TRUE(BookmarksHelper::CountBookmarksWithTitlesMatching( |
| 1559 1, BookmarksHelper::IndexedURLTitle(i)) == i); |
| 1560 } |
| 1561 } |
| 1562 |
| 1563 // TCM ID - 6593872. |
| 1564 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableBookmarks) { |
| 1565 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1566 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1567 |
| 1568 ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncable::BOOKMARKS)); |
| 1569 ASSERT_TRUE(BookmarksHelper::AddFolder(1, kGenericFolderName) != NULL); |
| 1570 ASSERT_TRUE(AwaitQuiescence()); |
| 1571 ASSERT_FALSE(BookmarksHelper::AllModelsMatch()); |
| 1572 |
| 1573 ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncable::BOOKMARKS)); |
| 1574 ASSERT_TRUE(AwaitQuiescence()); |
| 1575 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1576 } |
| 1577 |
| 1578 // TCM ID - 7343544. |
| 1579 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, DisableSync) { |
| 1580 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1581 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1582 |
| 1583 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); |
| 1584 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1585 0, BookmarksHelper::IndexedFolderName(0)) != NULL); |
| 1586 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion("Added a folder.")); |
| 1587 ASSERT_FALSE(BookmarksHelper::AllModelsMatch()); |
| 1588 |
| 1589 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1590 1, BookmarksHelper::IndexedFolderName(1)) != NULL); |
| 1591 ASSERT_FALSE(BookmarksHelper::AllModelsMatch()); |
| 1592 |
| 1593 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes()); |
| 1594 ASSERT_TRUE(AwaitQuiescence()); |
| 1595 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1596 } |
| 1597 |
| 1598 // TCM ID - 3662298 - Test adding duplicate folder - Both with different BMs |
| 1599 // underneath. |
| 1600 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, MC_DuplicateFolders) { |
| 1601 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1602 DisableVerifier(); |
| 1603 |
| 1604 const BookmarkNode* folder0 = |
| 1605 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 1606 ASSERT_TRUE(folder0 != NULL); |
| 1607 const BookmarkNode* folder1 = |
| 1608 BookmarksHelper::AddFolder(1, kGenericFolderName); |
| 1609 ASSERT_TRUE(folder1 != NULL); |
| 1610 for (int i = 0; i < 5; ++i) { |
| 1611 std::wstring title0 = BookmarksHelper::IndexedURLTitle(i); |
| 1612 GURL url0 = GURL(BookmarksHelper::IndexedURL(i)); |
| 1613 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder0, i, title0, url0) != NULL); |
| 1614 std::wstring title1 = BookmarksHelper::IndexedURLTitle(i+5); |
| 1615 GURL url1 = GURL(BookmarksHelper::IndexedURL(i+5)); |
| 1616 ASSERT_TRUE(BookmarksHelper::AddURL(1, folder1, i, title1, url1) != NULL); |
| 1617 } |
| 1618 |
| 1619 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1620 ASSERT_TRUE(AwaitQuiescence()); |
| 1621 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1622 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1623 } |
| 1624 |
| 1625 // TCM ID - 3719307 - Test a scenario of updating the name of the same bookmark |
| 1626 // from two clients at the same time. |
| 1627 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1628 MC_BookmarkNameChangeConflict) { |
| 1629 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1630 |
| 1631 const BookmarkNode* folder0 = |
| 1632 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 1633 ASSERT_TRUE(folder0 != NULL); |
| 1634 for (int i = 0; i < 3; ++i) { |
| 1635 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1636 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1637 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder0, i, title, url) != NULL); |
| 1638 } |
| 1639 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1640 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1641 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1642 |
| 1643 DisableVerifier(); |
| 1644 GURL url(BookmarksHelper::IndexedURL(0)); |
| 1645 BookmarksHelper::SetTitle( |
| 1646 0, BookmarksHelper::GetUniqueNodeByURL(0, url), L"Title++"); |
| 1647 BookmarksHelper::SetTitle( |
| 1648 1, BookmarksHelper::GetUniqueNodeByURL(1, url), L"Title--"); |
| 1649 |
| 1650 ASSERT_TRUE(AwaitQuiescence()); |
| 1651 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1652 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1653 } |
| 1654 |
| 1655 // TCM ID - 3672299 - Test a scenario of updating the URL of the same bookmark |
| 1656 // from two clients at the same time. |
| 1657 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1658 MC_BookmarkURLChangeConflict) { |
| 1659 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1660 |
| 1661 const BookmarkNode* folder0 = |
| 1662 BookmarksHelper::AddFolder(0, kGenericFolderName); |
| 1663 ASSERT_TRUE(folder0 != NULL); |
| 1664 for (int i = 0; i < 3; ++i) { |
| 1665 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1666 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1667 ASSERT_TRUE(BookmarksHelper::AddURL(0, folder0, i, title, url) != NULL); |
| 1668 } |
| 1669 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1670 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1671 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1672 |
| 1673 DisableVerifier(); |
| 1674 GURL url(BookmarksHelper::IndexedURL(0)); |
| 1675 ASSERT_TRUE(BookmarksHelper::SetURL(0, |
| 1676 BookmarksHelper::GetUniqueNodeByURL(0, url), |
| 1677 GURL("http://www.google.com/00"))); |
| 1678 ASSERT_TRUE(BookmarksHelper::SetURL(1, |
| 1679 BookmarksHelper::GetUniqueNodeByURL(1, url), |
| 1680 GURL("http://www.google.com/11"))); |
| 1681 |
| 1682 ASSERT_TRUE(AwaitQuiescence()); |
| 1683 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1684 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1685 } |
| 1686 |
| 1687 // TCM ID - 3699290 - Test a scenario of updating the BM Folder name from two |
| 1688 // clients at the same time. |
| 1689 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1690 MC_FolderNameChangeConflict) { |
| 1691 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 1692 DisableVerifier(); |
| 1693 |
| 1694 const BookmarkNode* folderA[2]; |
| 1695 const BookmarkNode* folderB[2]; |
| 1696 const BookmarkNode* folderC[2]; |
| 1697 |
| 1698 // Create empty folder A on both clients. |
| 1699 folderA[0] = |
| 1700 BookmarksHelper::AddFolder(0, BookmarksHelper::IndexedFolderName(0)); |
| 1701 ASSERT_TRUE(folderA[0] != NULL); |
| 1702 folderA[1] = |
| 1703 BookmarksHelper::AddFolder(1, BookmarksHelper::IndexedFolderName(0)); |
| 1704 ASSERT_TRUE(folderA[1] != NULL); |
| 1705 |
| 1706 // Create folder B with bookmarks on both clients. |
| 1707 folderB[0] = |
| 1708 BookmarksHelper::AddFolder(0, BookmarksHelper::IndexedFolderName(1)); |
| 1709 ASSERT_TRUE(folderB[0] != NULL); |
| 1710 folderB[1] = |
| 1711 BookmarksHelper::AddFolder(1, BookmarksHelper::IndexedFolderName(1)); |
| 1712 ASSERT_TRUE(folderB[1] != NULL); |
| 1713 for (int i = 0; i < 3; ++i) { |
| 1714 std::wstring title = BookmarksHelper::IndexedURLTitle(i); |
| 1715 GURL url = GURL(BookmarksHelper::IndexedURL(i)); |
| 1716 ASSERT_TRUE(BookmarksHelper::AddURL(0, folderB[0], i, title, url) != NULL); |
| 1717 } |
| 1718 |
| 1719 // Create folder C with bookmarks and subfolders on both clients. |
| 1720 folderC[0] = |
| 1721 BookmarksHelper::AddFolder(0, BookmarksHelper::IndexedFolderName(2)); |
| 1722 ASSERT_TRUE(folderC[0] != NULL); |
| 1723 folderC[1] = |
| 1724 BookmarksHelper::AddFolder(1, BookmarksHelper::IndexedFolderName(2)); |
| 1725 ASSERT_TRUE(folderC[1] != NULL); |
| 1726 for (int i = 0; i < 3; ++i) { |
| 1727 std::wstring folder_name = BookmarksHelper::IndexedSubfolderName(i); |
| 1728 const BookmarkNode* subfolder = |
| 1729 BookmarksHelper::AddFolder(0, folderC[0], i, folder_name); |
| 1730 ASSERT_TRUE(subfolder != NULL); |
| 1731 for (int j = 0; j < 3; ++j) { |
| 1732 std::wstring title = BookmarksHelper::IndexedURLTitle(j); |
| 1733 GURL url = GURL(BookmarksHelper::IndexedURL(j)); |
| 1734 ASSERT_TRUE(BookmarksHelper::AddURL(0, subfolder, j, title, url) != NULL); |
| 1735 } |
| 1736 } |
| 1737 |
| 1738 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1739 ASSERT_TRUE(AwaitQuiescence()); |
| 1740 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1741 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1742 |
| 1743 // Simultaneously rename folder A on both clients. |
| 1744 BookmarksHelper::SetTitle(0, folderA[0], L"Folder A++"); |
| 1745 BookmarksHelper::SetTitle(1, folderA[1], L"Folder A--"); |
| 1746 ASSERT_TRUE(AwaitQuiescence()); |
| 1747 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1748 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1749 |
| 1750 // Simultaneously rename folder B on both clients. |
| 1751 BookmarksHelper::SetTitle(0, folderB[0], L"Folder B++"); |
| 1752 BookmarksHelper::SetTitle(1, folderB[1], L"Folder B--"); |
| 1753 ASSERT_TRUE(AwaitQuiescence()); |
| 1754 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1755 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1756 |
| 1757 // Simultaneously rename folder C on both clients. |
| 1758 BookmarksHelper::SetTitle(0, folderC[0], L"Folder C++"); |
| 1759 BookmarksHelper::SetTitle(1, folderC[1], L"Folder C--"); |
| 1760 ASSERT_TRUE(AwaitQuiescence()); |
| 1761 ASSERT_TRUE(BookmarksHelper::AllModelsMatch()); |
| 1762 ASSERT_FALSE(BookmarksHelper::ContainsDuplicateBookmarks(0)); |
| 1763 } |
| 1764 |
| 1765 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1766 SingleClientEnabledEncryption) { |
| 1767 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1768 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1769 |
| 1770 ASSERT_TRUE(BookmarksHelper::EnableEncryption(0)); |
| 1771 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1772 ASSERT_TRUE(BookmarksHelper::IsEncrypted(0)); |
| 1773 ASSERT_TRUE(BookmarksHelper::IsEncrypted(1)); |
| 1774 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1775 } |
| 1776 |
| 1777 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1778 SingleClientEnabledEncryptionAndChanged) { |
| 1779 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1780 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1781 |
| 1782 ASSERT_TRUE(BookmarksHelper::EnableEncryption(0)); |
| 1783 ASSERT_TRUE(BookmarksHelper::AddURL( |
| 1784 0, |
| 1785 BookmarksHelper::IndexedURLTitle(0), |
| 1786 GURL(BookmarksHelper::IndexedURL(0))) != NULL); |
| 1787 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1788 ASSERT_TRUE(BookmarksHelper::IsEncrypted(0)); |
| 1789 ASSERT_TRUE(BookmarksHelper::IsEncrypted(1)); |
| 1790 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1791 } |
| 1792 |
| 1793 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1794 BothClientsEnabledEncryption) { |
| 1795 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1796 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1797 |
| 1798 ASSERT_TRUE(BookmarksHelper::EnableEncryption(0)); |
| 1799 ASSERT_TRUE(BookmarksHelper::EnableEncryption(1)); |
| 1800 ASSERT_TRUE(AwaitQuiescence()); |
| 1801 ASSERT_TRUE(BookmarksHelper::IsEncrypted(0)); |
| 1802 ASSERT_TRUE(BookmarksHelper::IsEncrypted(1)); |
| 1803 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1804 } |
| 1805 |
| 1806 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1807 SingleClientEnabledEncryptionBothChanged) { |
| 1808 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1809 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1810 |
| 1811 ASSERT_TRUE(BookmarksHelper::EnableEncryption(0)); |
| 1812 ASSERT_TRUE(AwaitQuiescence()); |
| 1813 ASSERT_TRUE(BookmarksHelper::IsEncrypted(0)); |
| 1814 ASSERT_TRUE(BookmarksHelper::IsEncrypted(1)); |
| 1815 ASSERT_TRUE(BookmarksHelper::AddURL(0, BookmarksHelper::IndexedURLTitle(0), |
| 1816 GURL(BookmarksHelper::IndexedURL(0))) != NULL); |
| 1817 ASSERT_TRUE(BookmarksHelper::AddURL(0, BookmarksHelper::IndexedURLTitle(1), |
| 1818 GURL(BookmarksHelper::IndexedURL(1))) != NULL); |
| 1819 ASSERT_TRUE(AwaitQuiescence()); |
| 1820 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1821 ASSERT_TRUE(BookmarksHelper::IsEncrypted(0)); |
| 1822 ASSERT_TRUE(BookmarksHelper::IsEncrypted(1)); |
| 1823 } |
| 1824 |
| 1825 IN_PROC_BROWSER_TEST_F(TwoClientBookmarksSyncTest, |
| 1826 SingleClientEnabledEncryptionAndChangedMultipleTimes) { |
| 1827 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 1828 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1829 |
| 1830 ASSERT_TRUE(BookmarksHelper::AddURL(0, BookmarksHelper::IndexedURLTitle(0), |
| 1831 GURL(BookmarksHelper::IndexedURL(0))) != NULL); |
| 1832 ASSERT_TRUE(BookmarksHelper::EnableEncryption(0)); |
| 1833 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1834 ASSERT_TRUE(BookmarksHelper::IsEncrypted(0)); |
| 1835 ASSERT_TRUE(BookmarksHelper::IsEncrypted(1)); |
| 1836 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1837 |
| 1838 ASSERT_TRUE(BookmarksHelper::AddURL(0, BookmarksHelper::IndexedURLTitle(1), |
| 1839 GURL(BookmarksHelper::IndexedURL(1))) != NULL); |
| 1840 ASSERT_TRUE(BookmarksHelper::AddFolder( |
| 1841 0, BookmarksHelper::IndexedFolderName(0)) != NULL); |
| 1842 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 1843 ASSERT_TRUE(BookmarksHelper::AllModelsMatchVerifier()); |
| 1844 } |
| 1845 |
| 1846 // TODO(zea): Add first time sync functionality testing. In particular, when |
| 1847 // there are encrypted types in first time sync we need to ensure we don't |
| 1848 // duplicate bookmarks. |
OLD | NEW |