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