multiple_client_preferences_sync_test.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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
11using preferences_helper::ChangeListPref;
12using preferences_helper::ListPrefMatches;
13
14class MultipleClientPreferencesSyncTest : public SyncTest {
15 public:
16  MultipleClientPreferencesSyncTest() : SyncTest(MULTIPLE_CLIENT) {}
17  virtual ~MultipleClientPreferencesSyncTest() {}
18
19 private:
20  DISALLOW_COPY_AND_ASSIGN(MultipleClientPreferencesSyncTest);
21};
22
23IN_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    base::ListValue urls;
29    urls.Append(base::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