multiple_client_preferences_sync_test.cc revision 5f1c94371a64b3196d4be9466099bb892df9b88e
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::AwaitListPrefMatches;
13
14class MultipleClientPreferencesSyncTest : public SyncTest {
15 public:
16  MultipleClientPreferencesSyncTest() : SyncTest(MULTIPLE_CLIENT) {}
17  virtual ~MultipleClientPreferencesSyncTest() {}
18
19  virtual bool TestUsesSelfNotifications() OVERRIDE {
20    return false;
21  }
22
23 private:
24  DISALLOW_COPY_AND_ASSIGN(MultipleClientPreferencesSyncTest);
25};
26
27IN_PROC_BROWSER_TEST_F(MultipleClientPreferencesSyncTest, Sanity) {
28  ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
29  DisableVerifier();
30
31  for (int i = 0; i < num_clients(); ++i) {
32    base::ListValue urls;
33    urls.Append(new base::StringValue(
34        base::StringPrintf("http://www.google.com/%d", i)));
35    ChangeListPref(i, prefs::kURLsToRestoreOnStartup, urls);
36  }
37
38  ASSERT_TRUE(AwaitListPrefMatches(prefs::kURLsToRestoreOnStartup));
39}
40