multiple_client_preferences_sync_test.cc revision a02191e04bc25c4935f804f2c080ae28663d096d
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 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(AwaitListPrefMatches(prefs::kURLsToRestoreOnStartup));
35}
36