Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(358)

Side by Side Diff: base/path_service_unittest.cc

Issue 11359217: Move scoped_temp_dir from base to base/files (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/mac/mac_util_unittest.mm ('k') | base/platform_file_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/path_service.h" 5 #include "base/path_service.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/file_path.h"
8 #include "base/file_util.h" 9 #include "base/file_util.h"
9 #include "base/file_path.h" 10 #include "base/files/scoped_temp_dir.h"
10 #include "base/scoped_temp_dir.h"
11 #include "base/string_util.h" 11 #include "base/string_util.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "testing/gtest/include/gtest/gtest-spi.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 #include "testing/gtest/include/gtest/gtest-spi.h"
15 #include "testing/platform_test.h" 15 #include "testing/platform_test.h"
16 16
17 #if defined(OS_WIN) 17 #if defined(OS_WIN)
18 #include <userenv.h> 18 #include <userenv.h>
19 #include "base/win/windows_version.h" 19 #include "base/win/windows_version.h"
20 // userenv.dll is required for GetDefaultUserProfileDirectory(). 20 // userenv.dll is required for GetDefaultUserProfileDirectory().
21 #pragma comment(lib, "userenv.lib") 21 #pragma comment(lib, "userenv.lib")
22 #endif 22 #endif
23 23
24 namespace { 24 namespace {
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 ++key) { 132 ++key) {
133 EXPECT_PRED1(ReturnsValidPath, key); 133 EXPECT_PRED1(ReturnsValidPath, key);
134 } 134 }
135 #endif 135 #endif
136 } 136 }
137 137
138 // test that all versions of the Override function of PathService do what they 138 // test that all versions of the Override function of PathService do what they
139 // are supposed to do. 139 // are supposed to do.
140 TEST_F(PathServiceTest, Override) { 140 TEST_F(PathServiceTest, Override) {
141 int my_special_key = 666; 141 int my_special_key = 666;
142 ScopedTempDir temp_dir; 142 base::ScopedTempDir temp_dir;
143 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 143 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
144 FilePath fake_cache_dir(temp_dir.path().AppendASCII("cache")); 144 FilePath fake_cache_dir(temp_dir.path().AppendASCII("cache"));
145 // PathService::Override should always create the path provided if it doesn't 145 // PathService::Override should always create the path provided if it doesn't
146 // exist. 146 // exist.
147 EXPECT_TRUE(PathService::Override(my_special_key, fake_cache_dir)); 147 EXPECT_TRUE(PathService::Override(my_special_key, fake_cache_dir));
148 EXPECT_TRUE(file_util::PathExists(fake_cache_dir)); 148 EXPECT_TRUE(file_util::PathExists(fake_cache_dir));
149 149
150 FilePath fake_cache_dir2(temp_dir.path().AppendASCII("cache2")); 150 FilePath fake_cache_dir2(temp_dir.path().AppendASCII("cache2"));
151 // PathService::OverrideAndCreateIfNeeded should obey the |create| parameter. 151 // PathService::OverrideAndCreateIfNeeded should obey the |create| parameter.
152 PathService::OverrideAndCreateIfNeeded(my_special_key, 152 PathService::OverrideAndCreateIfNeeded(my_special_key,
153 fake_cache_dir2, 153 fake_cache_dir2,
154 false); 154 false);
155 EXPECT_FALSE(file_util::PathExists(fake_cache_dir2)); 155 EXPECT_FALSE(file_util::PathExists(fake_cache_dir2));
156 EXPECT_TRUE(PathService::OverrideAndCreateIfNeeded(my_special_key, 156 EXPECT_TRUE(PathService::OverrideAndCreateIfNeeded(my_special_key,
157 fake_cache_dir2, 157 fake_cache_dir2,
158 true)); 158 true));
159 EXPECT_TRUE(file_util::PathExists(fake_cache_dir2)); 159 EXPECT_TRUE(file_util::PathExists(fake_cache_dir2));
160 } 160 }
161 161
162 // Check if multiple overrides can co-exist. 162 // Check if multiple overrides can co-exist.
163 TEST_F(PathServiceTest, OverrideMultiple) { 163 TEST_F(PathServiceTest, OverrideMultiple) {
164 int my_special_key = 666; 164 int my_special_key = 666;
165 ScopedTempDir temp_dir; 165 base::ScopedTempDir temp_dir;
166 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 166 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
167 FilePath fake_cache_dir1(temp_dir.path().AppendASCII("1")); 167 FilePath fake_cache_dir1(temp_dir.path().AppendASCII("1"));
168 EXPECT_TRUE(PathService::Override(my_special_key, fake_cache_dir1)); 168 EXPECT_TRUE(PathService::Override(my_special_key, fake_cache_dir1));
169 EXPECT_TRUE(file_util::PathExists(fake_cache_dir1)); 169 EXPECT_TRUE(file_util::PathExists(fake_cache_dir1));
170 ASSERT_EQ(1, file_util::WriteFile(fake_cache_dir1.AppendASCII("t1"), ".", 1)); 170 ASSERT_EQ(1, file_util::WriteFile(fake_cache_dir1.AppendASCII("t1"), ".", 1));
171 171
172 FilePath fake_cache_dir2(temp_dir.path().AppendASCII("2")); 172 FilePath fake_cache_dir2(temp_dir.path().AppendASCII("2"));
173 EXPECT_TRUE(PathService::Override(my_special_key + 1, fake_cache_dir2)); 173 EXPECT_TRUE(PathService::Override(my_special_key + 1, fake_cache_dir2));
174 EXPECT_TRUE(file_util::PathExists(fake_cache_dir2)); 174 EXPECT_TRUE(file_util::PathExists(fake_cache_dir2));
175 ASSERT_EQ(1, file_util::WriteFile(fake_cache_dir2.AppendASCII("t2"), ".", 1)); 175 ASSERT_EQ(1, file_util::WriteFile(fake_cache_dir2.AppendASCII("t2"), ".", 1));
176 176
177 FilePath result; 177 FilePath result;
178 EXPECT_TRUE(PathService::Get(my_special_key, &result)); 178 EXPECT_TRUE(PathService::Get(my_special_key, &result));
179 // Override might have changed the path representation but our test file 179 // Override might have changed the path representation but our test file
180 // should be still there. 180 // should be still there.
181 EXPECT_TRUE(file_util::PathExists(result.AppendASCII("t1"))); 181 EXPECT_TRUE(file_util::PathExists(result.AppendASCII("t1")));
182 EXPECT_TRUE(PathService::Get(my_special_key + 1, &result)); 182 EXPECT_TRUE(PathService::Get(my_special_key + 1, &result));
183 EXPECT_TRUE(file_util::PathExists(result.AppendASCII("t2"))); 183 EXPECT_TRUE(file_util::PathExists(result.AppendASCII("t2")));
184 } 184 }
185 185
186 TEST_F(PathServiceTest, RemoveOverride) { 186 TEST_F(PathServiceTest, RemoveOverride) {
187 // Before we start the test we have to call RemoveOverride at least once to 187 // Before we start the test we have to call RemoveOverride at least once to
188 // clear any overrides that might have been left from other tests. 188 // clear any overrides that might have been left from other tests.
189 PathService::RemoveOverride(base::DIR_TEMP); 189 PathService::RemoveOverride(base::DIR_TEMP);
190 190
191 FilePath original_user_data_dir; 191 FilePath original_user_data_dir;
192 EXPECT_TRUE(PathService::Get(base::DIR_TEMP, &original_user_data_dir)); 192 EXPECT_TRUE(PathService::Get(base::DIR_TEMP, &original_user_data_dir));
193 EXPECT_FALSE(PathService::RemoveOverride(base::DIR_TEMP)); 193 EXPECT_FALSE(PathService::RemoveOverride(base::DIR_TEMP));
194 194
195 ScopedTempDir temp_dir; 195 base::ScopedTempDir temp_dir;
196 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 196 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
197 EXPECT_TRUE(PathService::Override(base::DIR_TEMP, temp_dir.path())); 197 EXPECT_TRUE(PathService::Override(base::DIR_TEMP, temp_dir.path()));
198 FilePath new_user_data_dir; 198 FilePath new_user_data_dir;
199 EXPECT_TRUE(PathService::Get(base::DIR_TEMP, &new_user_data_dir)); 199 EXPECT_TRUE(PathService::Get(base::DIR_TEMP, &new_user_data_dir));
200 EXPECT_NE(original_user_data_dir, new_user_data_dir); 200 EXPECT_NE(original_user_data_dir, new_user_data_dir);
201 201
202 EXPECT_TRUE(PathService::RemoveOverride(base::DIR_TEMP)); 202 EXPECT_TRUE(PathService::RemoveOverride(base::DIR_TEMP));
203 EXPECT_TRUE(PathService::Get(base::DIR_TEMP, &new_user_data_dir)); 203 EXPECT_TRUE(PathService::Get(base::DIR_TEMP, &new_user_data_dir));
204 EXPECT_EQ(original_user_data_dir, new_user_data_dir); 204 EXPECT_EQ(original_user_data_dir, new_user_data_dir);
205 } 205 }
OLDNEW
« no previous file with comments | « base/mac/mac_util_unittest.mm ('k') | base/platform_file_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698