Home | History | Annotate | Download | only in integration
      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/values.h"
      7 #include "chrome/browser/sync/test/integration/preferences_helper.h"
      8 #include "chrome/browser/sync/test/integration/sync_test.h"
      9 #include "chrome/common/pref_names.h"
     10 
     11 using preferences_helper::ChangeListPref;
     12 using preferences_helper::ListPrefMatches;
     13 
     14 class MultipleClientPreferencesSyncTest : public SyncTest {
     15  public:
     16   MultipleClientPreferencesSyncTest() : SyncTest(MULTIPLE_CLIENT) {}
     17   virtual ~MultipleClientPreferencesSyncTest() {}
     18 
     19  private:
     20   DISALLOW_COPY_AND_ASSIGN(MultipleClientPreferencesSyncTest);
     21 };
     22 
     23 IN_PROC_BROWSER_TEST_F(MultipleClientPreferencesSyncTest, Sanity) {
     24   ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
     25   DisableVerifier();
     26 
     27   for (int i = 0; i < num_clients(); ++i) {
     28     ListValue urls;
     29     urls.Append(Value::CreateStringValue(
     30         base::StringPrintf("http://www.google.com/%d", i)));
     31     ChangeListPref(i, prefs::kURLsToRestoreOnStartup, urls);
     32   }
     33 
     34   ASSERT_TRUE(AwaitQuiescence());
     35   ASSERT_TRUE(ListPrefMatches(prefs::kURLsToRestoreOnStartup));
     36 }
     37