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

Side by Side Diff: extensions/common/file_util_unittest.cc

Issue 2314363002: extensions: Change ScopedTempDir::path() to GetPath() (Closed)
Patch Set: Comment addressed Created 4 years, 3 months 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
« no previous file with comments | « extensions/common/file_util.cc ('k') | extensions/utility/unpacker_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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "extensions/common/file_util.h" 5 #include "extensions/common/file_util.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 61
62 typedef testing::Test FileUtilTest; 62 typedef testing::Test FileUtilTest;
63 63
64 TEST_F(FileUtilTest, InstallUninstallGarbageCollect) { 64 TEST_F(FileUtilTest, InstallUninstallGarbageCollect) {
65 base::ScopedTempDir temp; 65 base::ScopedTempDir temp;
66 ASSERT_TRUE(temp.CreateUniqueTempDir()); 66 ASSERT_TRUE(temp.CreateUniqueTempDir());
67 67
68 // Create a source extension. 68 // Create a source extension.
69 std::string extension_id("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); 69 std::string extension_id("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
70 std::string version("1.0"); 70 std::string version("1.0");
71 base::FilePath src = temp.path().AppendASCII(extension_id); 71 base::FilePath src = temp.GetPath().AppendASCII(extension_id);
72 ASSERT_TRUE(base::CreateDirectory(src)); 72 ASSERT_TRUE(base::CreateDirectory(src));
73 73
74 base::FilePath extension_content; 74 base::FilePath extension_content;
75 base::CreateTemporaryFileInDir(src, &extension_content); 75 base::CreateTemporaryFileInDir(src, &extension_content);
76 ASSERT_TRUE(base::PathExists(extension_content)); 76 ASSERT_TRUE(base::PathExists(extension_content));
77 77
78 // Create a extensions tree. 78 // Create a extensions tree.
79 base::FilePath all_extensions = temp.path().AppendASCII("extensions"); 79 base::FilePath all_extensions = temp.GetPath().AppendASCII("extensions");
80 ASSERT_TRUE(base::CreateDirectory(all_extensions)); 80 ASSERT_TRUE(base::CreateDirectory(all_extensions));
81 81
82 // Install in empty directory. Should create parent directories as needed. 82 // Install in empty directory. Should create parent directories as needed.
83 base::FilePath version_1 = 83 base::FilePath version_1 =
84 file_util::InstallExtension(src, extension_id, version, all_extensions); 84 file_util::InstallExtension(src, extension_id, version, all_extensions);
85 ASSERT_EQ( 85 ASSERT_EQ(
86 version_1.value(), 86 version_1.value(),
87 all_extensions.AppendASCII(extension_id).AppendASCII("1.0_0").value()); 87 all_extensions.AppendASCII(extension_id).AppendASCII("1.0_0").value());
88 ASSERT_TRUE(base::DirectoryExists(version_1)); 88 ASSERT_TRUE(base::DirectoryExists(version_1));
89 ASSERT_TRUE(base::PathExists(version_1.Append(extension_content.BaseName()))); 89 ASSERT_TRUE(base::PathExists(version_1.Append(extension_content.BaseName())));
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 scoped_refptr<Extension> extension(file_util::LoadExtension( 141 scoped_refptr<Extension> extension(file_util::LoadExtension(
142 install_dir, Manifest::UNPACKED, Extension::NO_FLAGS, &error)); 142 install_dir, Manifest::UNPACKED, Extension::NO_FLAGS, &error));
143 ASSERT_FALSE(extension.get() == NULL); 143 ASSERT_FALSE(extension.get() == NULL);
144 EXPECT_TRUE(error.empty()); 144 EXPECT_TRUE(error.empty());
145 } 145 }
146 146
147 TEST_F(FileUtilTest, CheckIllegalFilenamesNoUnderscores) { 147 TEST_F(FileUtilTest, CheckIllegalFilenamesNoUnderscores) {
148 base::ScopedTempDir temp; 148 base::ScopedTempDir temp;
149 ASSERT_TRUE(temp.CreateUniqueTempDir()); 149 ASSERT_TRUE(temp.CreateUniqueTempDir());
150 150
151 base::FilePath src_path = temp.path().AppendASCII("some_dir"); 151 base::FilePath src_path = temp.GetPath().AppendASCII("some_dir");
152 ASSERT_TRUE(base::CreateDirectory(src_path)); 152 ASSERT_TRUE(base::CreateDirectory(src_path));
153 153
154 std::string data = "{ \"name\": { \"message\": \"foobar\" } }"; 154 std::string data = "{ \"name\": { \"message\": \"foobar\" } }";
155 ASSERT_TRUE(base::WriteFile( 155 ASSERT_TRUE(base::WriteFile(
156 src_path.AppendASCII("some_file.txt"), data.c_str(), data.length())); 156 src_path.AppendASCII("some_file.txt"), data.c_str(), data.length()));
157 std::string error; 157 std::string error;
158 EXPECT_TRUE(file_util::CheckForIllegalFilenames(temp.path(), &error)); 158 EXPECT_TRUE(file_util::CheckForIllegalFilenames(temp.GetPath(), &error));
159 } 159 }
160 160
161 TEST_F(FileUtilTest, CheckIllegalFilenamesOnlyReserved) { 161 TEST_F(FileUtilTest, CheckIllegalFilenamesOnlyReserved) {
162 base::ScopedTempDir temp; 162 base::ScopedTempDir temp;
163 ASSERT_TRUE(temp.CreateUniqueTempDir()); 163 ASSERT_TRUE(temp.CreateUniqueTempDir());
164 164
165 const base::FilePath::CharType* folders[] = { 165 const base::FilePath::CharType* folders[] = {
166 extensions::kLocaleFolder, extensions::kPlatformSpecificFolder}; 166 extensions::kLocaleFolder, extensions::kPlatformSpecificFolder};
167 167
168 for (size_t i = 0; i < arraysize(folders); i++) { 168 for (size_t i = 0; i < arraysize(folders); i++) {
169 base::FilePath src_path = temp.path().Append(folders[i]); 169 base::FilePath src_path = temp.GetPath().Append(folders[i]);
170 ASSERT_TRUE(base::CreateDirectory(src_path)); 170 ASSERT_TRUE(base::CreateDirectory(src_path));
171 } 171 }
172 172
173 std::string error; 173 std::string error;
174 EXPECT_TRUE(file_util::CheckForIllegalFilenames(temp.path(), &error)); 174 EXPECT_TRUE(file_util::CheckForIllegalFilenames(temp.GetPath(), &error));
175 } 175 }
176 176
177 TEST_F(FileUtilTest, CheckIllegalFilenamesReservedAndIllegal) { 177 TEST_F(FileUtilTest, CheckIllegalFilenamesReservedAndIllegal) {
178 base::ScopedTempDir temp; 178 base::ScopedTempDir temp;
179 ASSERT_TRUE(temp.CreateUniqueTempDir()); 179 ASSERT_TRUE(temp.CreateUniqueTempDir());
180 180
181 base::FilePath src_path = temp.path().Append(extensions::kLocaleFolder); 181 base::FilePath src_path = temp.GetPath().Append(extensions::kLocaleFolder);
182 ASSERT_TRUE(base::CreateDirectory(src_path)); 182 ASSERT_TRUE(base::CreateDirectory(src_path));
183 183
184 src_path = temp.path().AppendASCII("_some_dir"); 184 src_path = temp.GetPath().AppendASCII("_some_dir");
185 ASSERT_TRUE(base::CreateDirectory(src_path)); 185 ASSERT_TRUE(base::CreateDirectory(src_path));
186 186
187 std::string error; 187 std::string error;
188 EXPECT_FALSE(file_util::CheckForIllegalFilenames(temp.path(), &error)); 188 EXPECT_FALSE(file_util::CheckForIllegalFilenames(temp.GetPath(), &error));
189 } 189 }
190 190
191 // These tests do not work on Windows, because it is illegal to create a 191 // These tests do not work on Windows, because it is illegal to create a
192 // file/directory with a Windows reserved name. Because we cannot create a 192 // file/directory with a Windows reserved name. Because we cannot create a
193 // file that will cause the test to fail, let's skip the test. 193 // file that will cause the test to fail, let's skip the test.
194 #if !defined(OS_WIN) 194 #if !defined(OS_WIN)
195 TEST_F(FileUtilTest, CheckIllegalFilenamesDirectoryWindowsReserved) { 195 TEST_F(FileUtilTest, CheckIllegalFilenamesDirectoryWindowsReserved) {
196 base::ScopedTempDir temp; 196 base::ScopedTempDir temp;
197 ASSERT_TRUE(temp.CreateUniqueTempDir()); 197 ASSERT_TRUE(temp.CreateUniqueTempDir());
198 198
199 base::FilePath src_path = temp.path().AppendASCII("aux"); 199 base::FilePath src_path = temp.GetPath().AppendASCII("aux");
200 ASSERT_TRUE(base::CreateDirectory(src_path)); 200 ASSERT_TRUE(base::CreateDirectory(src_path));
201 201
202 std::string error; 202 std::string error;
203 EXPECT_FALSE( 203 EXPECT_FALSE(
204 file_util::CheckForWindowsReservedFilenames(temp.path(), &error)); 204 file_util::CheckForWindowsReservedFilenames(temp.GetPath(), &error));
205 } 205 }
206 206
207 TEST_F(FileUtilTest, 207 TEST_F(FileUtilTest,
208 CheckIllegalFilenamesWindowsReservedFilenameWithExtension) { 208 CheckIllegalFilenamesWindowsReservedFilenameWithExtension) {
209 base::ScopedTempDir temp; 209 base::ScopedTempDir temp;
210 ASSERT_TRUE(temp.CreateUniqueTempDir()); 210 ASSERT_TRUE(temp.CreateUniqueTempDir());
211 211
212 base::FilePath src_path = temp.path().AppendASCII("some_dir"); 212 base::FilePath src_path = temp.GetPath().AppendASCII("some_dir");
213 ASSERT_TRUE(base::CreateDirectory(src_path)); 213 ASSERT_TRUE(base::CreateDirectory(src_path));
214 214
215 std::string data = "{ \"name\": { \"message\": \"foobar\" } }"; 215 std::string data = "{ \"name\": { \"message\": \"foobar\" } }";
216 ASSERT_TRUE(base::WriteFile(src_path.AppendASCII("lpt1.txt"), data.c_str(), 216 ASSERT_TRUE(base::WriteFile(src_path.AppendASCII("lpt1.txt"), data.c_str(),
217 data.length())); 217 data.length()));
218 218
219 std::string error; 219 std::string error;
220 EXPECT_FALSE( 220 EXPECT_FALSE(
221 file_util::CheckForWindowsReservedFilenames(temp.path(), &error)); 221 file_util::CheckForWindowsReservedFilenames(temp.GetPath(), &error));
222 } 222 }
223 #endif 223 #endif
224 224
225 TEST_F(FileUtilTest, LoadExtensionGivesHelpfullErrorOnMissingManifest) { 225 TEST_F(FileUtilTest, LoadExtensionGivesHelpfullErrorOnMissingManifest) {
226 base::FilePath install_dir; 226 base::FilePath install_dir;
227 ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &install_dir)); 227 ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &install_dir));
228 install_dir = 228 install_dir =
229 install_dir.AppendASCII("file_util").AppendASCII("missing_manifest"); 229 install_dir.AppendASCII("file_util").AppendASCII("missing_manifest");
230 230
231 std::string error; 231 std::string error;
(...skipping 21 matching lines...) Expand all
253 error.c_str()); 253 error.c_str());
254 } 254 }
255 255
256 TEST_F(FileUtilTest, ValidateThemeUTF8) { 256 TEST_F(FileUtilTest, ValidateThemeUTF8) {
257 base::ScopedTempDir temp; 257 base::ScopedTempDir temp;
258 ASSERT_TRUE(temp.CreateUniqueTempDir()); 258 ASSERT_TRUE(temp.CreateUniqueTempDir());
259 259
260 // "aeo" with accents. Use http://0xcc.net/jsescape/ to decode them. 260 // "aeo" with accents. Use http://0xcc.net/jsescape/ to decode them.
261 std::string non_ascii_file = "\xC3\xA0\xC3\xA8\xC3\xB2.png"; 261 std::string non_ascii_file = "\xC3\xA0\xC3\xA8\xC3\xB2.png";
262 base::FilePath non_ascii_path = 262 base::FilePath non_ascii_path =
263 temp.path().Append(base::FilePath::FromUTF8Unsafe(non_ascii_file)); 263 temp.GetPath().Append(base::FilePath::FromUTF8Unsafe(non_ascii_file));
264 base::WriteFile(non_ascii_path, "", 0); 264 base::WriteFile(non_ascii_path, "", 0);
265 265
266 std::string kManifest = base::StringPrintf( 266 std::string kManifest = base::StringPrintf(
267 "{ \"name\": \"Test\", \"version\": \"1.0\", " 267 "{ \"name\": \"Test\", \"version\": \"1.0\", "
268 " \"theme\": { \"images\": { \"theme_frame\": \"%s\" } }" 268 " \"theme\": { \"images\": { \"theme_frame\": \"%s\" } }"
269 "}", 269 "}",
270 non_ascii_file.c_str()); 270 non_ascii_file.c_str());
271 std::string error; 271 std::string error;
272 scoped_refptr<Extension> extension = LoadExtensionManifest( 272 scoped_refptr<Extension> extension = LoadExtensionManifest(
273 kManifest, temp.path(), Manifest::UNPACKED, 0, &error); 273 kManifest, temp.GetPath(), Manifest::UNPACKED, 0, &error);
274 ASSERT_TRUE(extension.get()) << error; 274 ASSERT_TRUE(extension.get()) << error;
275 275
276 std::vector<extensions::InstallWarning> warnings; 276 std::vector<extensions::InstallWarning> warnings;
277 EXPECT_TRUE(file_util::ValidateExtension(extension.get(), &error, &warnings)) 277 EXPECT_TRUE(file_util::ValidateExtension(extension.get(), &error, &warnings))
278 << error; 278 << error;
279 EXPECT_EQ(0U, warnings.size()); 279 EXPECT_EQ(0U, warnings.size());
280 } 280 }
281 281
282 TEST_F(FileUtilTest, BackgroundScriptsMustExist) { 282 TEST_F(FileUtilTest, BackgroundScriptsMustExist) {
283 base::ScopedTempDir temp; 283 base::ScopedTempDir temp;
284 ASSERT_TRUE(temp.CreateUniqueTempDir()); 284 ASSERT_TRUE(temp.CreateUniqueTempDir());
285 285
286 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); 286 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue());
287 value->SetString("name", "test"); 287 value->SetString("name", "test");
288 value->SetString("version", "1"); 288 value->SetString("version", "1");
289 value->SetInteger("manifest_version", 1); 289 value->SetInteger("manifest_version", 1);
290 290
291 base::ListValue* scripts = new base::ListValue(); 291 base::ListValue* scripts = new base::ListValue();
292 scripts->AppendString("foo.js"); 292 scripts->AppendString("foo.js");
293 value->Set("background.scripts", scripts); 293 value->Set("background.scripts", scripts);
294 294
295 std::string error; 295 std::string error;
296 std::vector<extensions::InstallWarning> warnings; 296 std::vector<extensions::InstallWarning> warnings;
297 scoped_refptr<Extension> extension = 297 scoped_refptr<Extension> extension = LoadExtensionManifest(
298 LoadExtensionManifest(*value, temp.path(), Manifest::UNPACKED, 0, &error); 298 *value, temp.GetPath(), Manifest::UNPACKED, 0, &error);
299 ASSERT_TRUE(extension.get()) << error; 299 ASSERT_TRUE(extension.get()) << error;
300 300
301 EXPECT_FALSE( 301 EXPECT_FALSE(
302 file_util::ValidateExtension(extension.get(), &error, &warnings)); 302 file_util::ValidateExtension(extension.get(), &error, &warnings));
303 EXPECT_EQ( 303 EXPECT_EQ(
304 l10n_util::GetStringFUTF8(IDS_EXTENSION_LOAD_BACKGROUND_SCRIPT_FAILED, 304 l10n_util::GetStringFUTF8(IDS_EXTENSION_LOAD_BACKGROUND_SCRIPT_FAILED,
305 base::ASCIIToUTF16("foo.js")), 305 base::ASCIIToUTF16("foo.js")),
306 error); 306 error);
307 EXPECT_EQ(0U, warnings.size()); 307 EXPECT_EQ(0U, warnings.size());
308 308
309 scripts->Clear(); 309 scripts->Clear();
310 scripts->AppendString("http://google.com/foo.js"); 310 scripts->AppendString("http://google.com/foo.js");
311 311
312 extension = 312 extension = LoadExtensionManifest(*value, temp.GetPath(), Manifest::UNPACKED,
313 LoadExtensionManifest(*value, temp.path(), Manifest::UNPACKED, 0, &error); 313 0, &error);
314 ASSERT_TRUE(extension.get()) << error; 314 ASSERT_TRUE(extension.get()) << error;
315 315
316 warnings.clear(); 316 warnings.clear();
317 EXPECT_FALSE( 317 EXPECT_FALSE(
318 file_util::ValidateExtension(extension.get(), &error, &warnings)); 318 file_util::ValidateExtension(extension.get(), &error, &warnings));
319 EXPECT_EQ( 319 EXPECT_EQ(
320 l10n_util::GetStringFUTF8(IDS_EXTENSION_LOAD_BACKGROUND_SCRIPT_FAILED, 320 l10n_util::GetStringFUTF8(IDS_EXTENSION_LOAD_BACKGROUND_SCRIPT_FAILED,
321 base::ASCIIToUTF16("http://google.com/foo.js")), 321 base::ASCIIToUTF16("http://google.com/foo.js")),
322 error); 322 error);
323 EXPECT_EQ(0U, warnings.size()); 323 EXPECT_EQ(0U, warnings.size());
(...skipping 16 matching lines...) Expand all
340 "vHAI0Llmw7tj7jv17pAkEAz44uXRpjRKtllUIvi5pUENAHwDz+HvdpGH68jpU3hmb\n" 340 "vHAI0Llmw7tj7jv17pAkEAz44uXRpjRKtllUIvi5pUENAHwDz+HvdpGH68jpU3hmb\n"
341 "uOwrmnQYxaMReFV68Z2w9DcLZn07f7/R9Wn72z89CxwJAFsDoNaDes4h48bX7plct\n" 341 "uOwrmnQYxaMReFV68Z2w9DcLZn07f7/R9Wn72z89CxwJAFsDoNaDes4h48bX7plct\n"
342 "s9ACjmTwcCigZjN2K7AGv7ntCLF3DnV5dK0dTHNaAdD3SbY3jl29Rk2CwiURSX6Ee\n" 342 "s9ACjmTwcCigZjN2K7AGv7ntCLF3DnV5dK0dTHNaAdD3SbY3jl29Rk2CwiURSX6Ee\n"
343 "g==\n" 343 "g==\n"
344 "-----END PRIVATE KEY-----\n"; 344 "-----END PRIVATE KEY-----\n";
345 345
346 TEST_F(FileUtilTest, FindPrivateKeyFiles) { 346 TEST_F(FileUtilTest, FindPrivateKeyFiles) {
347 base::ScopedTempDir temp; 347 base::ScopedTempDir temp;
348 ASSERT_TRUE(temp.CreateUniqueTempDir()); 348 ASSERT_TRUE(temp.CreateUniqueTempDir());
349 349
350 base::FilePath src_path = temp.path().AppendASCII("some_dir"); 350 base::FilePath src_path = temp.GetPath().AppendASCII("some_dir");
351 ASSERT_TRUE(base::CreateDirectory(src_path)); 351 ASSERT_TRUE(base::CreateDirectory(src_path));
352 352
353 ASSERT_TRUE(base::WriteFile( 353 ASSERT_TRUE(base::WriteFile(
354 src_path.AppendASCII("a_key.pem"), private_key, arraysize(private_key))); 354 src_path.AppendASCII("a_key.pem"), private_key, arraysize(private_key)));
355 ASSERT_TRUE(base::WriteFile(src_path.AppendASCII("second_key.pem"), 355 ASSERT_TRUE(base::WriteFile(src_path.AppendASCII("second_key.pem"),
356 private_key, 356 private_key,
357 arraysize(private_key))); 357 arraysize(private_key)));
358 // Shouldn't find a key with a different extension. 358 // Shouldn't find a key with a different extension.
359 ASSERT_TRUE(base::WriteFile(src_path.AppendASCII("key.diff_ext"), 359 ASSERT_TRUE(base::WriteFile(src_path.AppendASCII("key.diff_ext"),
360 private_key, 360 private_key,
361 arraysize(private_key))); 361 arraysize(private_key)));
362 // Shouldn't find a key that isn't parsable. 362 // Shouldn't find a key that isn't parsable.
363 ASSERT_TRUE(base::WriteFile(src_path.AppendASCII("unparsable_key.pem"), 363 ASSERT_TRUE(base::WriteFile(src_path.AppendASCII("unparsable_key.pem"),
364 private_key, 364 private_key,
365 arraysize(private_key) - 30)); 365 arraysize(private_key) - 30));
366 std::vector<base::FilePath> private_keys = 366 std::vector<base::FilePath> private_keys =
367 file_util::FindPrivateKeyFiles(temp.path()); 367 file_util::FindPrivateKeyFiles(temp.GetPath());
368 EXPECT_EQ(2U, private_keys.size()); 368 EXPECT_EQ(2U, private_keys.size());
369 EXPECT_THAT(private_keys, 369 EXPECT_THAT(private_keys,
370 testing::Contains(src_path.AppendASCII("a_key.pem"))); 370 testing::Contains(src_path.AppendASCII("a_key.pem")));
371 EXPECT_THAT(private_keys, 371 EXPECT_THAT(private_keys,
372 testing::Contains(src_path.AppendASCII("second_key.pem"))); 372 testing::Contains(src_path.AppendASCII("second_key.pem")));
373 } 373 }
374 374
375 TEST_F(FileUtilTest, WarnOnPrivateKey) { 375 TEST_F(FileUtilTest, WarnOnPrivateKey) {
376 base::ScopedTempDir temp; 376 base::ScopedTempDir temp;
377 ASSERT_TRUE(temp.CreateUniqueTempDir()); 377 ASSERT_TRUE(temp.CreateUniqueTempDir());
378 378
379 base::FilePath ext_path = temp.path().AppendASCII("ext_root"); 379 base::FilePath ext_path = temp.GetPath().AppendASCII("ext_root");
380 ASSERT_TRUE(base::CreateDirectory(ext_path)); 380 ASSERT_TRUE(base::CreateDirectory(ext_path));
381 381
382 const char manifest[] = 382 const char manifest[] =
383 "{\n" 383 "{\n"
384 " \"name\": \"Test Extension\",\n" 384 " \"name\": \"Test Extension\",\n"
385 " \"version\": \"1.0\",\n" 385 " \"version\": \"1.0\",\n"
386 " \"manifest_version\": 2,\n" 386 " \"manifest_version\": 2,\n"
387 " \"description\": \"The first extension that I made.\"\n" 387 " \"description\": \"The first extension that I made.\"\n"
388 "}\n"; 388 "}\n";
389 ASSERT_TRUE(base::WriteFile( 389 ASSERT_TRUE(base::WriteFile(
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 base::FilePath actual_path = 542 base::FilePath actual_path =
543 extensions::file_util::ExtensionResourceURLToFilePath(url, root_path); 543 extensions::file_util::ExtensionResourceURLToFilePath(url, root_path);
544 EXPECT_EQ(expected_path.value(), actual_path.value()) << 544 EXPECT_EQ(expected_path.value(), actual_path.value()) <<
545 " For the path " << url; 545 " For the path " << url;
546 } 546 }
547 // Remove temp files. 547 // Remove temp files.
548 ASSERT_TRUE(base::DeleteFile(root_path, true)); 548 ASSERT_TRUE(base::DeleteFile(root_path, true));
549 } 549 }
550 550
551 } // namespace extensions 551 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/common/file_util.cc ('k') | extensions/utility/unpacker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698