blob: d07a53267b1556f7d918c8ce04f8e53f1ac8caba [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_BROWSER_STATE_TEST_CHROME_BROWSER_STATE_MANAGER_H_
#define IOS_CHROME_BROWSER_BROWSER_STATE_TEST_CHROME_BROWSER_STATE_MANAGER_H_
#include <memory>
#include "base/macros.h"
#include "ios/chrome/browser/browser_state/browser_state_info_cache.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state_manager.h"
#include "ios/chrome/test/ios_chrome_scoped_testing_local_state.h"
// ChromeBrowserStateManager implementation for tests.
class TestChromeBrowserStateManager : public ios::ChromeBrowserStateManager {
public:
explicit TestChromeBrowserStateManager(const base::FilePath& user_data_dir);
explicit TestChromeBrowserStateManager(
std::unique_ptr<ios::ChromeBrowserState> browser_state);
TestChromeBrowserStateManager(
std::unique_ptr<ios::ChromeBrowserState> browser_state,
const base::FilePath& user_data_dir);
~TestChromeBrowserStateManager() override;
// ChromeBrowserStateManager:
ios::ChromeBrowserState* GetLastUsedBrowserState() override;
ios::ChromeBrowserState* GetBrowserState(const base::FilePath& path) override;
BrowserStateInfoCache* GetBrowserStateInfoCache() override;
std::vector<ios::ChromeBrowserState*> GetLoadedBrowserStates() override;
private:
IOSChromeScopedTestingLocalState local_state_;
std::unique_ptr<ios::ChromeBrowserState> browser_state_;
BrowserStateInfoCache browser_state_info_cache_;
DISALLOW_COPY_AND_ASSIGN(TestChromeBrowserStateManager);
};
#endif // IOS_CHROME_BROWSER_BROWSER_STATE_TEST_CHROME_BROWSER_STATE_MANAGER_H_