1// Copyright (c) 2012 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/test/scoped_path_override.h"
6
7#include "base/logging.h"
8#include "base/path_service.h"
9
10namespace base {
11
12ScopedPathOverride::ScopedPathOverride(int key) : key_(key) {
13  bool result = temp_dir_.CreateUniqueTempDir();
14  CHECK(result);
15  result = PathService::Override(key, temp_dir_.path());
16  CHECK(result);
17}
18
19ScopedPathOverride::ScopedPathOverride(int key, const base::FilePath& dir)
20    : key_(key) {
21  bool result = PathService::Override(key, dir);
22  CHECK(result);
23}
24
25ScopedPathOverride::~ScopedPathOverride() {
26   bool result = PathService::RemoveOverride(key_);
27   CHECK(result) << "The override seems to have been removed already!";
28}
29
30}  // namespace base
31