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