1// Copyright (c) 2013 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#ifndef CHROME_TEST_BASE_SCOPED_TESTING_LOCAL_STATE_H_
6#define CHROME_TEST_BASE_SCOPED_TESTING_LOCAL_STATE_H_
7
8#include "base/basictypes.h"
9#include "base/prefs/testing_pref_service.h"
10
11class TestingBrowserProcess;
12
13// Helper class to temporarily set up a |local_state| in the global
14// TestingBrowserProcess (for most unit tests it's NULL).
15class ScopedTestingLocalState {
16 public:
17  explicit ScopedTestingLocalState(TestingBrowserProcess* browser_process);
18  ~ScopedTestingLocalState();
19
20  TestingPrefServiceSimple* Get() {
21    return &local_state_;
22  }
23
24 private:
25  TestingBrowserProcess* browser_process_;
26  TestingPrefServiceSimple local_state_;
27
28  DISALLOW_COPY_AND_ASSIGN(ScopedTestingLocalState);
29};
30
31#endif  // CHROME_TEST_BASE_SCOPED_TESTING_LOCAL_STATE_H_
32