two_client_preferences_sync_test.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 3// found in the LICENSE file. 4 5#include "base/values.h" 6#include "chrome/browser/sync/profile_sync_service_harness.h" 7#include "chrome/browser/sync/test/integration/preferences_helper.h" 8#include "chrome/browser/sync/test/integration/sync_test.h" 9#include "chrome/browser/translate/translate_prefs.h" 10#include "chrome/common/pref_names.h" 11 12using preferences_helper::AppendStringPref; 13using preferences_helper::BooleanPrefMatches; 14using preferences_helper::ChangeBooleanPref; 15using preferences_helper::ChangeIntegerPref; 16using preferences_helper::ChangeInt64Pref; 17using preferences_helper::ChangeListPref; 18using preferences_helper::ChangeStringPref; 19using preferences_helper::GetPrefs; 20using preferences_helper::IntegerPrefMatches; 21using preferences_helper::Int64PrefMatches; 22using preferences_helper::ListPrefMatches; 23using preferences_helper::StringPrefMatches; 24 25class TwoClientPreferencesSyncTest : public SyncTest { 26 public: 27 TwoClientPreferencesSyncTest() : SyncTest(TWO_CLIENT) {} 28 virtual ~TwoClientPreferencesSyncTest() {} 29 30 private: 31 DISALLOW_COPY_AND_ASSIGN(TwoClientPreferencesSyncTest); 32}; 33 34// TCM ID - 7306186. 35IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 36 kHomePageIsNewTabPage) { 37 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 38 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 39 40 ChangeBooleanPref(0, prefs::kHomePageIsNewTabPage); 41 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 42 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 43} 44 45// TCM ID - 7260488. 46IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, Race) { 47 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 48 DisableVerifier(); 49 50 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 51 52 ChangeStringPref(0, prefs::kHomePage, "http://www.google.com/0"); 53 ChangeStringPref(1, prefs::kHomePage,"http://www.google.com/1"); 54 ASSERT_TRUE(AwaitQuiescence()); 55 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 56} 57 58// TCM ID - 3649278. 59IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 60 kPasswordManagerEnabled) { 61 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 62 ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 63 64 ChangeBooleanPref(0, prefs::kPasswordManagerEnabled); 65 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 66 ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 67} 68 69// TCM ID - 3699293. 70IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 71 kSyncKeepEverythingSynced) { 72 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 73 DisableVerifier(); 74 75 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncKeepEverythingSynced)); 76 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncThemes)); 77 78 GetClient(0)->DisableSyncForDatatype(syncer::THEMES); 79 ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncKeepEverythingSynced)); 80} 81 82// TCM ID - 3661290. 83IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, DisablePreferences) { 84 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 85 DisableVerifier(); 86 87 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncPreferences)); 88 ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 89 90 GetClient(1)->DisableSyncForDatatype(syncer::PREFERENCES); 91 ChangeBooleanPref(0, prefs::kPasswordManagerEnabled); 92 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion("Changed a preference.")); 93 ASSERT_FALSE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 94 95 GetClient(1)->EnableSyncForDatatype(syncer::PREFERENCES); 96 ASSERT_TRUE(AwaitQuiescence()); 97 ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 98} 99 100// TCM ID - 3664292. 101IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, DisableSync) { 102 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 103 DisableVerifier(); 104 105 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncPreferences)); 106 ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 107 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 108 109 GetClient(1)->DisableSyncForAllDatatypes(); 110 ChangeBooleanPref(0, prefs::kPasswordManagerEnabled); 111 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion("Changed a preference.")); 112 ASSERT_FALSE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 113 114 ChangeBooleanPref(1, prefs::kShowHomeButton); 115 ASSERT_FALSE(BooleanPrefMatches(prefs::kShowHomeButton)); 116 117 GetClient(1)->EnableSyncForAllDatatypes(); 118 ASSERT_TRUE(AwaitQuiescence()); 119 ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 120 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 121} 122 123// TCM ID - 3604297. 124IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, SignInDialog) { 125 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 126 DisableVerifier(); 127 128 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncPreferences)); 129 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncBookmarks)); 130 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncThemes)); 131 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncExtensions)); 132 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncAutofill)); 133 ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncKeepEverythingSynced)); 134 135 GetClient(0)->DisableSyncForDatatype(syncer::PREFERENCES); 136 GetClient(1)->EnableSyncForDatatype(syncer::PREFERENCES); 137 GetClient(0)->DisableSyncForDatatype(syncer::AUTOFILL); 138 GetClient(1)->EnableSyncForDatatype(syncer::AUTOFILL); 139 GetClient(0)->DisableSyncForDatatype(syncer::BOOKMARKS); 140 GetClient(1)->EnableSyncForDatatype(syncer::BOOKMARKS); 141 GetClient(0)->DisableSyncForDatatype(syncer::EXTENSIONS); 142 GetClient(1)->EnableSyncForDatatype(syncer::EXTENSIONS); 143 GetClient(0)->DisableSyncForDatatype(syncer::THEMES); 144 GetClient(1)->EnableSyncForDatatype(syncer::THEMES); 145 146 ASSERT_TRUE(AwaitQuiescence()); 147 148 ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncPreferences)); 149 ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncBookmarks)); 150 ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncThemes)); 151 ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncExtensions)); 152 ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncAutofill)); 153 ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncKeepEverythingSynced)); 154} 155 156// TCM ID - 3666296. 157IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kShowBookmarkBar) { 158 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 159 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowBookmarkBar)); 160 161 ChangeBooleanPref(0, prefs::kShowBookmarkBar); 162 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 163 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowBookmarkBar)); 164} 165 166IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kEnableInstant) { 167 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 168 ASSERT_TRUE(BooleanPrefMatches(prefs::kInstantConfirmDialogShown)); 169 ASSERT_TRUE(BooleanPrefMatches(prefs::kInstantEnabled)); 170 171 ChangeBooleanPref(0, prefs::kInstantConfirmDialogShown); 172 ChangeBooleanPref(0, prefs::kInstantEnabled); 173 174 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 175 ASSERT_TRUE(BooleanPrefMatches(prefs::kInstantConfirmDialogShown)); 176 ASSERT_TRUE(BooleanPrefMatches(prefs::kInstantEnabled)); 177} 178 179// TCM ID - 3611311. 180IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kCheckDefaultBrowser) { 181 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 182 DisableVerifier(); 183 184 ASSERT_TRUE(BooleanPrefMatches(prefs::kCheckDefaultBrowser)); 185 186 ChangeBooleanPref(0, prefs::kCheckDefaultBrowser); 187 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 188 ASSERT_FALSE(BooleanPrefMatches(prefs::kCheckDefaultBrowser)); 189} 190 191// TCM ID - 3628298. 192IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kHomePage) { 193 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 194 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 195 196 ChangeStringPref(0, prefs::kHomePage, "http://news.google.com"); 197 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 198 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 199} 200 201// TCM ID - 7297269. 202IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kShowHomeButton) { 203 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 204 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 205 206 ChangeBooleanPref(0, prefs::kShowHomeButton); 207 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 208 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 209} 210 211// TCM ID - 3710285. 212IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kEnableTranslate) { 213 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 214 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableTranslate)); 215 216 ChangeBooleanPref(0, prefs::kEnableTranslate); 217 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 218 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableTranslate)); 219} 220 221// TCM ID - 3664293. 222IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kAutofillEnabled) { 223 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 224 ASSERT_TRUE(BooleanPrefMatches(prefs::kAutofillEnabled)); 225 226 ChangeBooleanPref(0, prefs::kAutofillEnabled); 227 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 228 ASSERT_TRUE(BooleanPrefMatches(prefs::kAutofillEnabled)); 229} 230 231// TCM ID - 3632259. 232IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 233 kURLsToRestoreOnStartup) { 234 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 235 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 236 ASSERT_TRUE(ListPrefMatches(prefs::kURLsToRestoreOnStartup)); 237 238 ChangeIntegerPref(0, prefs::kRestoreOnStartup, 0); 239 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 240 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 241 242 ListValue urls; 243 urls.Append(Value::CreateStringValue("http://www.google.com/")); 244 urls.Append(Value::CreateStringValue("http://www.flickr.com/")); 245 ChangeIntegerPref(0, prefs::kRestoreOnStartup, 4); 246 ChangeListPref(0, prefs::kURLsToRestoreOnStartup, urls); 247 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 248 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 249 ASSERT_TRUE(ListPrefMatches(prefs::kURLsToRestoreOnStartup)); 250} 251 252// TCM ID - 3684287. 253IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kRestoreOnStartup) { 254 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 255 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 256 257 ChangeIntegerPref(0, prefs::kRestoreOnStartup, 1); 258 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 259 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 260} 261 262// TCM ID - 3703314. 263IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, Privacy) { 264 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 265 DisableVerifier(); 266 267 ASSERT_TRUE(BooleanPrefMatches(prefs::kAlternateErrorPagesEnabled)); 268 ASSERT_TRUE(BooleanPrefMatches(prefs::kSearchSuggestEnabled)); 269 ASSERT_TRUE(BooleanPrefMatches(prefs::kNetworkPredictionEnabled)); 270 ASSERT_TRUE(BooleanPrefMatches(prefs::kSafeBrowsingEnabled)); 271 272 ChangeBooleanPref(0, prefs::kAlternateErrorPagesEnabled); 273 ChangeBooleanPref(0, prefs::kSearchSuggestEnabled); 274 ChangeBooleanPref(0, prefs::kNetworkPredictionEnabled); 275 ChangeBooleanPref(0, prefs::kSafeBrowsingEnabled); 276 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 277 ASSERT_TRUE(BooleanPrefMatches(prefs::kAlternateErrorPagesEnabled)); 278 ASSERT_TRUE(BooleanPrefMatches(prefs::kSearchSuggestEnabled)); 279 ASSERT_TRUE(BooleanPrefMatches(prefs::kNetworkPredictionEnabled)); 280 ASSERT_TRUE(BooleanPrefMatches(prefs::kSafeBrowsingEnabled)); 281} 282 283// TCM ID - 3649279. 284IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, ClearData) { 285 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 286 DisableVerifier(); 287 288 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteBrowsingHistory)); 289 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteDownloadHistory)); 290 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteCache)); 291 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteCookies)); 292 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeletePasswords)); 293 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteFormData)); 294 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteHostedAppsData)); 295 296 ChangeBooleanPref(0, prefs::kDeleteBrowsingHistory); 297 ChangeBooleanPref(0, prefs::kDeleteDownloadHistory); 298 ChangeBooleanPref(0, prefs::kDeleteCache); 299 ChangeBooleanPref(0, prefs::kDeleteCookies); 300 ChangeBooleanPref(0, prefs::kDeletePasswords); 301 ChangeBooleanPref(0, prefs::kDeleteFormData); 302 ChangeBooleanPref(0, prefs::kDeleteHostedAppsData); 303 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 304 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteBrowsingHistory)); 305 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteDownloadHistory)); 306 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteCache)); 307 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteCookies)); 308 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeletePasswords)); 309 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteFormData)); 310 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteHostedAppsData)); 311} 312 313// TCM ID - 3686300. 314IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 315 kWebKitUsesUniversalDetector) { 316 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 317 ASSERT_TRUE(BooleanPrefMatches(prefs::kWebKitUsesUniversalDetector)); 318 319 ChangeBooleanPref(0, prefs::kWebKitUsesUniversalDetector); 320 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 321 ASSERT_TRUE(BooleanPrefMatches(prefs::kWebKitUsesUniversalDetector)); 322} 323 324// TCM ID - 3673298. 325IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kDefaultCharset) { 326 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 327 ASSERT_TRUE(StringPrefMatches(prefs::kDefaultCharset)); 328 329 ChangeStringPref(0, prefs::kDefaultCharset, "Thai"); 330 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 331 ASSERT_TRUE(StringPrefMatches(prefs::kDefaultCharset)); 332} 333 334// TCM ID - 3653296. 335IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 336 kBlockThirdPartyCookies) { 337 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 338 ASSERT_TRUE(BooleanPrefMatches(prefs::kBlockThirdPartyCookies)); 339 340 ChangeBooleanPref(0, prefs::kBlockThirdPartyCookies); 341 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 342 ASSERT_TRUE(BooleanPrefMatches(prefs::kBlockThirdPartyCookies)); 343} 344 345// TCM ID - 7297279. 346IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 347 kClearSiteDataOnExit) { 348 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 349 ASSERT_TRUE(BooleanPrefMatches(prefs::kClearSiteDataOnExit)); 350 351 ChangeBooleanPref(0, prefs::kClearSiteDataOnExit); 352 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 353 ASSERT_TRUE(BooleanPrefMatches(prefs::kClearSiteDataOnExit)); 354} 355 356// TCM ID - 7306184. 357IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 358 kSafeBrowsingEnabled) { 359 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 360 ASSERT_TRUE(BooleanPrefMatches(prefs::kSafeBrowsingEnabled)); 361 362 ChangeBooleanPref(0, prefs::kSafeBrowsingEnabled); 363 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 364 ASSERT_TRUE(BooleanPrefMatches(prefs::kSafeBrowsingEnabled)); 365} 366 367// TCM ID - 3624302. 368IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 369 kAutofillAuxiliaryProfilesEnabled) { 370 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 371 DisableVerifier(); 372 373 ASSERT_TRUE(BooleanPrefMatches(prefs::kAutofillAuxiliaryProfilesEnabled)); 374 375 ChangeBooleanPref(0, prefs::kAutofillAuxiliaryProfilesEnabled); 376 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 377 378 // kAutofillAuxiliaryProfilesEnabled is only synced on Mac. 379#if defined(OS_MACOSX) 380 ASSERT_TRUE(BooleanPrefMatches(prefs::kAutofillAuxiliaryProfilesEnabled)); 381#else 382 ASSERT_FALSE(BooleanPrefMatches(prefs::kAutofillAuxiliaryProfilesEnabled)); 383#endif // OS_MACOSX 384} 385 386// TCM ID - 3717298. 387IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kPromptForDownload) { 388 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 389 ASSERT_TRUE(BooleanPrefMatches(prefs::kPromptForDownload)); 390 391 ChangeBooleanPref(0, prefs::kPromptForDownload); 392 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 393 ASSERT_TRUE(BooleanPrefMatches(prefs::kPromptForDownload)); 394} 395 396// TCM ID - 3729263. 397IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 398 kPrefTranslateLanguageBlacklist) { 399 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 400 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableTranslate)); 401 402 TranslatePrefs translate_client0_prefs(GetPrefs(0)); 403 TranslatePrefs translate_client1_prefs(GetPrefs(1)); 404 ASSERT_FALSE(translate_client0_prefs.IsLanguageBlacklisted("fr")); 405 translate_client0_prefs.BlacklistLanguage("fr"); 406 ASSERT_TRUE(translate_client0_prefs.IsLanguageBlacklisted("fr")); 407 408 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 409 ASSERT_TRUE(translate_client1_prefs.IsLanguageBlacklisted("fr")); 410 411 translate_client0_prefs.RemoveLanguageFromBlacklist("fr"); 412 ASSERT_FALSE(translate_client0_prefs.IsLanguageBlacklisted("fr")); 413 414 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 415 ASSERT_FALSE(translate_client1_prefs.IsLanguageBlacklisted("fr")); 416} 417 418// TCM ID - 7307195. 419IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 420 kPrefTranslateWhitelists) { 421 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 422 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableTranslate)); 423 424 TranslatePrefs translate_client0_prefs(GetPrefs(0)); 425 TranslatePrefs translate_client1_prefs(GetPrefs(1)); 426 ASSERT_FALSE(translate_client0_prefs.IsLanguagePairWhitelisted("en", "bg")); 427 translate_client0_prefs.WhitelistLanguagePair("en", "bg"); 428 ASSERT_TRUE(translate_client0_prefs.IsLanguagePairWhitelisted("en", "bg")); 429 430 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 431 ASSERT_TRUE(translate_client1_prefs.IsLanguagePairWhitelisted("en", "bg")); 432 433 translate_client0_prefs.RemoveLanguagePairFromWhitelist("en", "bg"); 434 ASSERT_FALSE(translate_client0_prefs.IsLanguagePairWhitelisted("en", "bg")); 435 436 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 437 ASSERT_FALSE(translate_client1_prefs.IsLanguagePairWhitelisted("en", "bg")); 438} 439 440// TCM ID - 3625298. 441IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 442 kPrefTranslateSiteBlacklist) { 443 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 444 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableTranslate)); 445 446 GURL url("http://www.google.com"); 447 std::string host(url.host()); 448 TranslatePrefs translate_client0_prefs(GetPrefs(0)); 449 TranslatePrefs translate_client1_prefs(GetPrefs(1)); 450 ASSERT_FALSE(translate_client0_prefs.IsSiteBlacklisted(host)); 451 translate_client0_prefs.BlacklistSite(host); 452 ASSERT_TRUE(translate_client0_prefs.IsSiteBlacklisted(host)); 453 454 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 455 ASSERT_TRUE(translate_client1_prefs.IsSiteBlacklisted(host)); 456 457 translate_client0_prefs.RemoveSiteFromBlacklist(host); 458 ASSERT_FALSE(translate_client0_prefs.IsSiteBlacklisted(host)); 459 460 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 461 ASSERT_FALSE(translate_client1_prefs.IsSiteBlacklisted(host)); 462} 463 464// TCM ID - 6515252. 465IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 466 kExtensionsUIDeveloperMode) { 467 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 468 ASSERT_TRUE(BooleanPrefMatches(prefs::kExtensionsUIDeveloperMode)); 469 470 ChangeBooleanPref(0, prefs::kExtensionsUIDeveloperMode); 471 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 472 ASSERT_TRUE(BooleanPrefMatches(prefs::kExtensionsUIDeveloperMode)); 473} 474 475// TCM ID - 7583816 476IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kAcceptLanguages) { 477 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 478 DisableVerifier(); 479 ASSERT_TRUE(StringPrefMatches(prefs::kAcceptLanguages)); 480 481 AppendStringPref(0, prefs::kAcceptLanguages, ",ar"); 482 AppendStringPref(1, prefs::kAcceptLanguages, ",fr"); 483 ASSERT_TRUE(AwaitQuiescence()); 484 // kAcceptLanguages is not synced on Mac. 485#if !defined(OS_MACOSX) 486 ASSERT_TRUE(StringPrefMatches(prefs::kAcceptLanguages)); 487#else 488 ASSERT_FALSE(StringPrefMatches(prefs::kAcceptLanguages)); 489#endif // OS_MACOSX 490 491 ChangeStringPref(0, prefs::kAcceptLanguages, "en-US"); 492 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 493#if !defined(OS_MACOSX) 494 ASSERT_TRUE(StringPrefMatches(prefs::kAcceptLanguages)); 495#else 496 ASSERT_FALSE(StringPrefMatches(prefs::kAcceptLanguages)); 497#endif // OS_MACOSX 498 499 ChangeStringPref(0, prefs::kAcceptLanguages, "ar,en-US"); 500 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 501#if !defined(OS_MACOSX) 502 ASSERT_TRUE(StringPrefMatches(prefs::kAcceptLanguages)); 503#else 504 ASSERT_FALSE(StringPrefMatches(prefs::kAcceptLanguages)); 505#endif // OS_MACOSX 506} 507 508// TCM ID - 7590682 509#if defined(TOOLKIT_GTK) 510IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kUsesSystemTheme) { 511 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 512 ASSERT_TRUE(BooleanPrefMatches(prefs::kUsesSystemTheme)); 513 514 ChangeBooleanPref(0, prefs::kUsesSystemTheme); 515 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 516 ASSERT_FALSE(BooleanPrefMatches(prefs::kUsesSystemTheme)); 517} 518#endif // TOOLKIT_GTK 519 520// TCM ID - 3636292 521#if defined(TOOLKIT_GTK) 522IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 523 kUseCustomChromeFrame) { 524 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 525 ASSERT_TRUE(BooleanPrefMatches(prefs::kUseCustomChromeFrame)); 526 527 ChangeBooleanPref(0, prefs::kUseCustomChromeFrame); 528 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 529 ASSERT_TRUE(BooleanPrefMatches(prefs::kUseCustomChromeFrame)); 530} 531#endif // TOOLKIT_GTK 532 533// TCM ID - 6473347. 534#if defined(OS_CHROMEOS) 535IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kTapToClickEnabled) { 536 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 537 ASSERT_TRUE(BooleanPrefMatches(prefs::kTapToClickEnabled)); 538 539 ChangeBooleanPref(0, prefs::kTapToClickEnabled); 540 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 541 ASSERT_TRUE(BooleanPrefMatches(prefs::kTapToClickEnabled)); 542 543 ChangeBooleanPref(1, prefs::kTapToClickEnabled); 544 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 545 ASSERT_TRUE(BooleanPrefMatches(prefs::kTapToClickEnabled)); 546} 547#endif // OS_CHROMEOS 548 549// TCM ID - 6458824. 550#if defined(OS_CHROMEOS) 551IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kEnableScreenLock) { 552 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 553 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableScreenLock)); 554 555 ChangeBooleanPref(0, prefs::kEnableScreenLock); 556 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 557 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableScreenLock)); 558 559 ChangeBooleanPref(1, prefs::kEnableScreenLock); 560 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 561 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableScreenLock)); 562} 563#endif // OS_CHROMEOS 564 565IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 566 SingleClientEnabledEncryption) { 567 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 568 569 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 570 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 571 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 572 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 573} 574 575IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 576 SingleClientEnabledEncryptionAndChanged) { 577 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 578 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 579 580 ChangeBooleanPref(0, prefs::kHomePageIsNewTabPage); 581 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 582 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 583 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 584 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 585 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 586} 587 588IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 589 BothClientsEnabledEncryption) { 590 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 591 592 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 593 ASSERT_TRUE(EnableEncryption(1, syncer::PREFERENCES)); 594 ASSERT_TRUE(AwaitQuiescence()); 595 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 596 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 597} 598 599IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 600 SingleClientEnabledEncryptionBothChanged) { 601 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 602 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 603 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 604 605 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 606 ChangeBooleanPref(0, prefs::kHomePageIsNewTabPage); 607 ChangeStringPref(1, prefs::kHomePage, "http://www.google.com/1"); 608 ASSERT_TRUE(AwaitQuiescence()); 609 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 610 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 611 ASSERT_TRUE(BooleanPrefMatches( 612 prefs::kHomePageIsNewTabPage)); 613 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 614} 615 616IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 617 SingleClientEnabledEncryptionAndChangedMultipleTimes) { 618 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 619 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 620 621 ChangeBooleanPref(0, prefs::kHomePageIsNewTabPage); 622 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 623 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 624 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 625 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 626 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 627 628 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 629 ChangeBooleanPref(0, prefs::kShowHomeButton); 630 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 631 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 632} 633