1 // Copyright (c) 2011 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/strings/stringprintf.h" 6 #include "base/strings/utf_string_conversions.h" 7 #include "chrome/browser/password_manager/password_form_data.h" 8 #include "chrome/browser/sync/test/integration/passwords_helper.h" 9 #include "chrome/browser/sync/test/integration/sync_test.h" 10 11 using passwords_helper::AddLogin; 12 using passwords_helper::AllProfilesContainSamePasswordForms; 13 using passwords_helper::CreateTestPasswordForm; 14 using passwords_helper::GetPasswordCount; 15 using passwords_helper::GetPasswordStore; 16 17 using content::PasswordForm; 18 19 class MultipleClientPasswordsSyncTest : public SyncTest { 20 public: 21 MultipleClientPasswordsSyncTest() : SyncTest(MULTIPLE_CLIENT) {} 22 virtual ~MultipleClientPasswordsSyncTest() {} 23 24 private: 25 DISALLOW_COPY_AND_ASSIGN(MultipleClientPasswordsSyncTest); 26 }; 27 28 IN_PROC_BROWSER_TEST_F(MultipleClientPasswordsSyncTest, Sanity) { 29 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 30 31 for (int i = 0; i < num_clients(); ++i) { 32 PasswordForm form = CreateTestPasswordForm(i); 33 AddLogin(GetPasswordStore(i), form); 34 } 35 ASSERT_TRUE(AwaitQuiescence()); 36 37 ASSERT_EQ(num_clients(), GetPasswordCount(0)); 38 ASSERT_TRUE(AllProfilesContainSamePasswordForms()); 39 } 40