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