two_client_preferences_sync_test.cc revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/values.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/sync/profile_sync_service_harness.h" 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/sync/test/integration/preferences_helper.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/sync/test/integration/sync_test.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/translate/translate_prefs.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/common/pref_names.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)using preferences_helper::AppendStringPref; 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using preferences_helper::BooleanPrefMatches; 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using preferences_helper::ChangeBooleanPref; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using preferences_helper::ChangeIntegerPref; 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using preferences_helper::ChangeInt64Pref; 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using preferences_helper::ChangeListPref; 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using preferences_helper::ChangeStringPref; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using preferences_helper::GetPrefs; 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using preferences_helper::IntegerPrefMatches; 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using preferences_helper::Int64PrefMatches; 22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochusing preferences_helper::ListPrefMatches; 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using preferences_helper::StringPrefMatches; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class TwoClientPreferencesSyncTest : public SyncTest { 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TwoClientPreferencesSyncTest() : SyncTest(TWO_CLIENT) {} 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~TwoClientPreferencesSyncTest() {} 29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(TwoClientPreferencesSyncTest); 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 340529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// TCM ID - 7306186. 350529e5d033099cbfc42635f6f6183833b09dff6eBen MurdochIN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kHomePageIsNewTabPage) { 370529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ChangeBooleanPref(0, prefs::kHomePageIsNewTabPage); 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// TCM ID - 7260488. 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, Race) { 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DisableVerifier(); 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ChangeStringPref(0, prefs::kHomePage, "http://www.google.com/0"); 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ChangeStringPref(1, prefs::kHomePage,"http://www.google.com/1"); 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ASSERT_TRUE(AwaitQuiescence()); 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 58cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// TCM ID - 3649278. 59cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 60116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch kPasswordManagerEnabled) { 61cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 62cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 63cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 64cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ChangeBooleanPref(0, prefs::kPasswordManagerEnabled); 65116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 66cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 67cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// TCM ID - 3699293. 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kSyncKeepEverythingSynced) { 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DisableVerifier(); 745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncKeepEverythingSynced)); 76c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncThemes)); 775c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 785c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu GetClient(0)->DisableSyncForDatatype(syncer::THEMES); 795c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncKeepEverythingSynced)); 80010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} 815c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 825c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// TCM ID - 3661290. 835c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo LiuIN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, DisablePreferences) { 84a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 850529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch DisableVerifier(); 86a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 87a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncPreferences)); 88a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetClient(1)->DisableSyncForDatatype(syncer::PREFERENCES); 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ChangeBooleanPref(0, prefs::kPasswordManagerEnabled); 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion("Changed a preference.")); 932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_FALSE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetClient(1)->EnableSyncForDatatype(syncer::PREFERENCES); 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(AwaitQuiescence()); 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// TCM ID - 3664292. 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, DisableSync) { 1020529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 103a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) DisableVerifier(); 104a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 105a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncPreferences)); 106a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 107a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 108a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 109a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) GetClient(1)->DisableSyncForAllDatatypes(); 110c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ChangeBooleanPref(0, prefs::kPasswordManagerEnabled); 111c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion("Changed a preference.")); 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_FALSE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ChangeBooleanPref(1, prefs::kShowHomeButton); 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_FALSE(BooleanPrefMatches(prefs::kShowHomeButton)); 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetClient(1)->EnableSyncForAllDatatypes(); 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(AwaitQuiescence()); 119c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kPasswordManagerEnabled)); 120c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// TCM ID - 3604297. 124c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, SignInDialog) { 1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DisableVerifier(); 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncPreferences)); 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncBookmarks)); 1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncThemes)); 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncExtensions)); 132010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncAutofill)); 1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASSERT_TRUE(BooleanPrefMatches(prefs::kSyncKeepEverythingSynced)); 1342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetClient(0)->DisableSyncForDatatype(syncer::PREFERENCES); 1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetClient(1)->EnableSyncForDatatype(syncer::PREFERENCES); 1372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetClient(0)->DisableSyncForDatatype(syncer::AUTOFILL); 1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetClient(1)->EnableSyncForDatatype(syncer::AUTOFILL); 1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetClient(0)->DisableSyncForDatatype(syncer::BOOKMARKS); 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetClient(1)->EnableSyncForDatatype(syncer::BOOKMARKS); 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetClient(0)->DisableSyncForDatatype(syncer::EXTENSIONS); 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetClient(1)->EnableSyncForDatatype(syncer::EXTENSIONS); 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetClient(0)->DisableSyncForDatatype(syncer::THEMES); 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetClient(1)->EnableSyncForDatatype(syncer::THEMES); 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE(AwaitQuiescence()); 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE(BooleanPrefMatches(prefs::kSyncPreferences)); 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 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::kSearchInstantEnabled)); 169 170 ChangeBooleanPref(0, prefs::kSearchInstantEnabled); 171 172 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 173 ASSERT_TRUE(BooleanPrefMatches(prefs::kSearchInstantEnabled)); 174} 175 176// TCM ID - 3611311. 177IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kCheckDefaultBrowser) { 178 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 179 DisableVerifier(); 180 181 ASSERT_TRUE(BooleanPrefMatches(prefs::kCheckDefaultBrowser)); 182 183 ChangeBooleanPref(0, prefs::kCheckDefaultBrowser); 184 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 185 ASSERT_FALSE(BooleanPrefMatches(prefs::kCheckDefaultBrowser)); 186} 187 188// TCM ID - 3628298. 189IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kHomePage) { 190 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 191 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 192 193 ChangeStringPref(0, prefs::kHomePage, "http://news.google.com"); 194 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 195 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 196} 197 198// TCM ID - 7297269. 199IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kShowHomeButton) { 200 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 201 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 202 203 ChangeBooleanPref(0, prefs::kShowHomeButton); 204 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 205 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 206} 207 208// TCM ID - 3710285. 209IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kEnableTranslate) { 210 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 211 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableTranslate)); 212 213 ChangeBooleanPref(0, prefs::kEnableTranslate); 214 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 215 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableTranslate)); 216} 217 218// TCM ID - 3664293. 219IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kAutofillEnabled) { 220 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 221 ASSERT_TRUE(BooleanPrefMatches(autofill::prefs::kAutofillEnabled)); 222 223 ChangeBooleanPref(0, autofill::prefs::kAutofillEnabled); 224 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 225 ASSERT_TRUE(BooleanPrefMatches(autofill::prefs::kAutofillEnabled)); 226} 227 228// TCM ID - 3632259. 229IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 230 kURLsToRestoreOnStartup) { 231 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 232 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 233 ASSERT_TRUE(ListPrefMatches(prefs::kURLsToRestoreOnStartup)); 234 235 ChangeIntegerPref(0, prefs::kRestoreOnStartup, 0); 236 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 237 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 238 239 ListValue urls; 240 urls.Append(Value::CreateStringValue("http://www.google.com/")); 241 urls.Append(Value::CreateStringValue("http://www.flickr.com/")); 242 ChangeIntegerPref(0, prefs::kRestoreOnStartup, 4); 243 ChangeListPref(0, prefs::kURLsToRestoreOnStartup, urls); 244 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 245 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 246 ASSERT_TRUE(ListPrefMatches(prefs::kURLsToRestoreOnStartup)); 247} 248 249// TCM ID - 3684287. 250IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kRestoreOnStartup) { 251 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 252 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 253 254 ChangeIntegerPref(0, prefs::kRestoreOnStartup, 1); 255 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 256 ASSERT_TRUE(IntegerPrefMatches(prefs::kRestoreOnStartup)); 257} 258 259// TCM ID - 3703314. 260IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, Privacy) { 261 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 262 DisableVerifier(); 263 264 ASSERT_TRUE(BooleanPrefMatches(prefs::kAlternateErrorPagesEnabled)); 265 ASSERT_TRUE(BooleanPrefMatches(prefs::kSearchSuggestEnabled)); 266 ASSERT_TRUE(BooleanPrefMatches(prefs::kNetworkPredictionEnabled)); 267 ASSERT_TRUE(BooleanPrefMatches(prefs::kSafeBrowsingEnabled)); 268 269 ChangeBooleanPref(0, prefs::kAlternateErrorPagesEnabled); 270 ChangeBooleanPref(0, prefs::kSearchSuggestEnabled); 271 ChangeBooleanPref(0, prefs::kNetworkPredictionEnabled); 272 ChangeBooleanPref(0, prefs::kSafeBrowsingEnabled); 273 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 274 ASSERT_TRUE(BooleanPrefMatches(prefs::kAlternateErrorPagesEnabled)); 275 ASSERT_TRUE(BooleanPrefMatches(prefs::kSearchSuggestEnabled)); 276 ASSERT_TRUE(BooleanPrefMatches(prefs::kNetworkPredictionEnabled)); 277 ASSERT_TRUE(BooleanPrefMatches(prefs::kSafeBrowsingEnabled)); 278} 279 280// TCM ID - 3649279. 281IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, ClearData) { 282 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 283 DisableVerifier(); 284 285 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteBrowsingHistory)); 286 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteDownloadHistory)); 287 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteCache)); 288 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteCookies)); 289 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeletePasswords)); 290 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteFormData)); 291 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteHostedAppsData)); 292 293 ChangeBooleanPref(0, prefs::kDeleteBrowsingHistory); 294 ChangeBooleanPref(0, prefs::kDeleteDownloadHistory); 295 ChangeBooleanPref(0, prefs::kDeleteCache); 296 ChangeBooleanPref(0, prefs::kDeleteCookies); 297 ChangeBooleanPref(0, prefs::kDeletePasswords); 298 ChangeBooleanPref(0, prefs::kDeleteFormData); 299 ChangeBooleanPref(0, prefs::kDeleteHostedAppsData); 300 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 301 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteBrowsingHistory)); 302 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteDownloadHistory)); 303 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteCache)); 304 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteCookies)); 305 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeletePasswords)); 306 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteFormData)); 307 ASSERT_TRUE(BooleanPrefMatches(prefs::kDeleteHostedAppsData)); 308} 309 310// TCM ID - 3686300. 311IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 312 kWebKitUsesUniversalDetector) { 313 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 314 ASSERT_TRUE(BooleanPrefMatches(prefs::kWebKitUsesUniversalDetector)); 315 316 ChangeBooleanPref(0, prefs::kWebKitUsesUniversalDetector); 317 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 318 ASSERT_TRUE(BooleanPrefMatches(prefs::kWebKitUsesUniversalDetector)); 319} 320 321// TCM ID - 3673298. 322IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kDefaultCharset) { 323 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 324 ASSERT_TRUE(StringPrefMatches(prefs::kDefaultCharset)); 325 326 ChangeStringPref(0, prefs::kDefaultCharset, "Thai"); 327 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 328 ASSERT_TRUE(StringPrefMatches(prefs::kDefaultCharset)); 329} 330 331// TCM ID - 3653296. 332IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 333 kBlockThirdPartyCookies) { 334 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 335 ASSERT_TRUE(BooleanPrefMatches(prefs::kBlockThirdPartyCookies)); 336 337 ChangeBooleanPref(0, prefs::kBlockThirdPartyCookies); 338 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 339 ASSERT_TRUE(BooleanPrefMatches(prefs::kBlockThirdPartyCookies)); 340} 341 342// TCM ID - 7297279. 343IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 344 kClearSiteDataOnExit) { 345 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 346 ASSERT_TRUE(BooleanPrefMatches(prefs::kClearSiteDataOnExit)); 347 348 ChangeBooleanPref(0, prefs::kClearSiteDataOnExit); 349 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 350 ASSERT_TRUE(BooleanPrefMatches(prefs::kClearSiteDataOnExit)); 351} 352 353// TCM ID - 7306184. 354IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 355 kSafeBrowsingEnabled) { 356 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 357 ASSERT_TRUE(BooleanPrefMatches(prefs::kSafeBrowsingEnabled)); 358 359 ChangeBooleanPref(0, prefs::kSafeBrowsingEnabled); 360 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 361 ASSERT_TRUE(BooleanPrefMatches(prefs::kSafeBrowsingEnabled)); 362} 363 364// TCM ID - 3624302. 365IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 366 kAutofillAuxiliaryProfilesEnabled) { 367 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 368 DisableVerifier(); 369 370 ASSERT_TRUE( 371 BooleanPrefMatches(autofill::prefs::kAutofillAuxiliaryProfilesEnabled)); 372 373 ChangeBooleanPref(0, autofill::prefs::kAutofillAuxiliaryProfilesEnabled); 374 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 375 376 // kAutofillAuxiliaryProfilesEnabled is only synced on Mac. 377#if defined(OS_MACOSX) 378 ASSERT_TRUE( 379 BooleanPrefMatches(autofill::prefs::kAutofillAuxiliaryProfilesEnabled)); 380#else 381 ASSERT_FALSE( 382 BooleanPrefMatches(autofill::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.IsBlockedLanguage("fr")); 405 translate_client0_prefs.BlockLanguage("fr"); 406 ASSERT_TRUE(translate_client0_prefs.IsBlockedLanguage("fr")); 407 408 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 409 ASSERT_TRUE(translate_client1_prefs.IsBlockedLanguage("fr")); 410 411 translate_client0_prefs.UnblockLanguage("fr"); 412 ASSERT_FALSE(translate_client0_prefs.IsBlockedLanguage("fr")); 413 414 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 415 ASSERT_FALSE(translate_client1_prefs.IsBlockedLanguage("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 ASSERT_TRUE(StringPrefMatches(prefs::kAcceptLanguages)); 485 486 ChangeStringPref(0, prefs::kAcceptLanguages, "en-US"); 487 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 488 ASSERT_TRUE(StringPrefMatches(prefs::kAcceptLanguages)); 489 490 ChangeStringPref(0, prefs::kAcceptLanguages, "ar,en-US"); 491 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 492 ASSERT_TRUE(StringPrefMatches(prefs::kAcceptLanguages)); 493} 494 495// TCM ID - 7590682 496#if defined(TOOLKIT_GTK) 497IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kUsesSystemTheme) { 498 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 499 ASSERT_TRUE(BooleanPrefMatches(prefs::kUsesSystemTheme)); 500 501 ChangeBooleanPref(0, prefs::kUsesSystemTheme); 502 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 503 ASSERT_FALSE(BooleanPrefMatches(prefs::kUsesSystemTheme)); 504} 505#endif // TOOLKIT_GTK 506 507// TCM ID - 6473347. 508#if defined(OS_CHROMEOS) 509IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kTapToClickEnabled) { 510 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 511 ASSERT_TRUE(BooleanPrefMatches(prefs::kTapToClickEnabled)); 512 513 ChangeBooleanPref(0, prefs::kTapToClickEnabled); 514 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 515 ASSERT_TRUE(BooleanPrefMatches(prefs::kTapToClickEnabled)); 516 517 ChangeBooleanPref(1, prefs::kTapToClickEnabled); 518 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 519 ASSERT_TRUE(BooleanPrefMatches(prefs::kTapToClickEnabled)); 520} 521#endif // OS_CHROMEOS 522 523// TCM ID - 6458824. 524#if defined(OS_CHROMEOS) 525IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, kEnableScreenLock) { 526 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 527 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableScreenLock)); 528 529 ChangeBooleanPref(0, prefs::kEnableScreenLock); 530 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 531 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableScreenLock)); 532 533 ChangeBooleanPref(1, prefs::kEnableScreenLock); 534 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 535 ASSERT_TRUE(BooleanPrefMatches(prefs::kEnableScreenLock)); 536} 537#endif // OS_CHROMEOS 538 539IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 540 SingleClientEnabledEncryption) { 541 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 542 543 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 544 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 545 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 546 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 547} 548 549IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 550 SingleClientEnabledEncryptionAndChanged) { 551 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 552 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 553 554 ChangeBooleanPref(0, prefs::kHomePageIsNewTabPage); 555 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 556 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 557 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 558 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 559 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 560} 561 562IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 563 BothClientsEnabledEncryption) { 564 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 565 566 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 567 ASSERT_TRUE(EnableEncryption(1, syncer::PREFERENCES)); 568 ASSERT_TRUE(AwaitQuiescence()); 569 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 570 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 571} 572 573IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 574 SingleClientEnabledEncryptionBothChanged) { 575 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 576 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 577 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 578 579 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 580 ChangeBooleanPref(0, prefs::kHomePageIsNewTabPage); 581 ChangeStringPref(1, prefs::kHomePage, "http://www.google.com/1"); 582 ASSERT_TRUE(AwaitQuiescence()); 583 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 584 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 585 ASSERT_TRUE(BooleanPrefMatches( 586 prefs::kHomePageIsNewTabPage)); 587 ASSERT_TRUE(StringPrefMatches(prefs::kHomePage)); 588} 589 590IN_PROC_BROWSER_TEST_F(TwoClientPreferencesSyncTest, 591 SingleClientEnabledEncryptionAndChangedMultipleTimes) { 592 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 593 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 594 595 ChangeBooleanPref(0, prefs::kHomePageIsNewTabPage); 596 ASSERT_TRUE(EnableEncryption(0, syncer::PREFERENCES)); 597 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 598 ASSERT_TRUE(IsEncrypted(0, syncer::PREFERENCES)); 599 ASSERT_TRUE(IsEncrypted(1, syncer::PREFERENCES)); 600 ASSERT_TRUE(BooleanPrefMatches(prefs::kHomePageIsNewTabPage)); 601 602 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 603 ChangeBooleanPref(0, prefs::kShowHomeButton); 604 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 605 ASSERT_TRUE(BooleanPrefMatches(prefs::kShowHomeButton)); 606} 607