| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/files/file.h" | 7 #include "base/files/file.h" |
| 8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
| 9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 EXPECT_FALSE(DirectoryExists(test_path)); | 46 EXPECT_FALSE(DirectoryExists(test_path)); |
| 47 } | 47 } |
| 48 | 48 |
| 49 TEST(ScopedTempDir, TempDir) { | 49 TEST(ScopedTempDir, TempDir) { |
| 50 // In this case, just verify that a directory was created and that it's a | 50 // In this case, just verify that a directory was created and that it's a |
| 51 // child of TempDir. | 51 // child of TempDir. |
| 52 FilePath test_path; | 52 FilePath test_path; |
| 53 { | 53 { |
| 54 ScopedTempDir dir; | 54 ScopedTempDir dir; |
| 55 EXPECT_TRUE(dir.CreateUniqueTempDir()); | 55 EXPECT_TRUE(dir.CreateUniqueTempDir()); |
| 56 test_path = dir.path(); | 56 test_path = dir.GetPath(); |
| 57 EXPECT_TRUE(DirectoryExists(test_path)); | 57 EXPECT_TRUE(DirectoryExists(test_path)); |
| 58 FilePath tmp_dir; | 58 FilePath tmp_dir; |
| 59 EXPECT_TRUE(base::GetTempDir(&tmp_dir)); | 59 EXPECT_TRUE(base::GetTempDir(&tmp_dir)); |
| 60 EXPECT_TRUE(test_path.value().find(tmp_dir.value()) != std::string::npos); | 60 EXPECT_TRUE(test_path.value().find(tmp_dir.value()) != std::string::npos); |
| 61 } | 61 } |
| 62 EXPECT_FALSE(DirectoryExists(test_path)); | 62 EXPECT_FALSE(DirectoryExists(test_path)); |
| 63 } | 63 } |
| 64 | 64 |
| 65 TEST(ScopedTempDir, UniqueTempDirUnderPath) { | 65 TEST(ScopedTempDir, UniqueTempDirUnderPath) { |
| 66 // Create a path which will contain a unique temp path. | 66 // Create a path which will contain a unique temp path. |
| 67 FilePath base_path; | 67 FilePath base_path; |
| 68 ASSERT_TRUE(base::CreateNewTempDirectory(FILE_PATH_LITERAL("base_dir"), | 68 ASSERT_TRUE(base::CreateNewTempDirectory(FILE_PATH_LITERAL("base_dir"), |
| 69 &base_path)); | 69 &base_path)); |
| 70 | 70 |
| 71 FilePath test_path; | 71 FilePath test_path; |
| 72 { | 72 { |
| 73 ScopedTempDir dir; | 73 ScopedTempDir dir; |
| 74 EXPECT_TRUE(dir.CreateUniqueTempDirUnderPath(base_path)); | 74 EXPECT_TRUE(dir.CreateUniqueTempDirUnderPath(base_path)); |
| 75 test_path = dir.path(); | 75 test_path = dir.GetPath(); |
| 76 EXPECT_TRUE(DirectoryExists(test_path)); | 76 EXPECT_TRUE(DirectoryExists(test_path)); |
| 77 EXPECT_TRUE(base_path.IsParent(test_path)); | 77 EXPECT_TRUE(base_path.IsParent(test_path)); |
| 78 EXPECT_TRUE(test_path.value().find(base_path.value()) != std::string::npos); | 78 EXPECT_TRUE(test_path.value().find(base_path.value()) != std::string::npos); |
| 79 } | 79 } |
| 80 EXPECT_FALSE(DirectoryExists(test_path)); | 80 EXPECT_FALSE(DirectoryExists(test_path)); |
| 81 base::DeleteFile(base_path, true); | 81 base::DeleteFile(base_path, true); |
| 82 } | 82 } |
| 83 | 83 |
| 84 TEST(ScopedTempDir, MultipleInvocations) { | 84 TEST(ScopedTempDir, MultipleInvocations) { |
| 85 ScopedTempDir dir; | 85 ScopedTempDir dir; |
| 86 EXPECT_TRUE(dir.CreateUniqueTempDir()); | 86 EXPECT_TRUE(dir.CreateUniqueTempDir()); |
| 87 EXPECT_FALSE(dir.CreateUniqueTempDir()); | 87 EXPECT_FALSE(dir.CreateUniqueTempDir()); |
| 88 EXPECT_TRUE(dir.Delete()); | 88 EXPECT_TRUE(dir.Delete()); |
| 89 EXPECT_TRUE(dir.CreateUniqueTempDir()); | 89 EXPECT_TRUE(dir.CreateUniqueTempDir()); |
| 90 EXPECT_FALSE(dir.CreateUniqueTempDir()); | 90 EXPECT_FALSE(dir.CreateUniqueTempDir()); |
| 91 ScopedTempDir other_dir; | 91 ScopedTempDir other_dir; |
| 92 EXPECT_TRUE(other_dir.Set(dir.Take())); | 92 EXPECT_TRUE(other_dir.Set(dir.Take())); |
| 93 EXPECT_TRUE(dir.CreateUniqueTempDir()); | 93 EXPECT_TRUE(dir.CreateUniqueTempDir()); |
| 94 EXPECT_FALSE(dir.CreateUniqueTempDir()); | 94 EXPECT_FALSE(dir.CreateUniqueTempDir()); |
| 95 EXPECT_FALSE(other_dir.CreateUniqueTempDir()); | 95 EXPECT_FALSE(other_dir.CreateUniqueTempDir()); |
| 96 } | 96 } |
| 97 | 97 |
| 98 #if defined(OS_WIN) | 98 #if defined(OS_WIN) |
| 99 TEST(ScopedTempDir, LockedTempDir) { | 99 TEST(ScopedTempDir, LockedTempDir) { |
| 100 ScopedTempDir dir; | 100 ScopedTempDir dir; |
| 101 EXPECT_TRUE(dir.CreateUniqueTempDir()); | 101 EXPECT_TRUE(dir.CreateUniqueTempDir()); |
| 102 base::File file(dir.path().Append(FILE_PATH_LITERAL("temp")), | 102 base::File file(dir.GetPath().Append(FILE_PATH_LITERAL("temp")), |
| 103 base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE); | 103 base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE); |
| 104 EXPECT_TRUE(file.IsValid()); | 104 EXPECT_TRUE(file.IsValid()); |
| 105 EXPECT_EQ(base::File::FILE_OK, file.error_details()); | 105 EXPECT_EQ(base::File::FILE_OK, file.error_details()); |
| 106 EXPECT_FALSE(dir.Delete()); // We should not be able to delete. | 106 EXPECT_FALSE(dir.Delete()); // We should not be able to delete. |
| 107 EXPECT_FALSE(dir.path().empty()); // We should still have a valid path. | 107 EXPECT_FALSE(dir.GetPath().empty()); // We should still have a valid path. |
| 108 file.Close(); | 108 file.Close(); |
| 109 // Now, we should be able to delete. | 109 // Now, we should be able to delete. |
| 110 EXPECT_TRUE(dir.Delete()); | 110 EXPECT_TRUE(dir.Delete()); |
| 111 } | 111 } |
| 112 #endif // defined(OS_WIN) | 112 #endif // defined(OS_WIN) |
| 113 | 113 |
| 114 } // namespace base | 114 } // namespace base |
| OLD | NEW |