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