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

Side by Side Diff: base/files/scoped_temp_dir_unittest.cc

Issue 19052005: Move PathIsWritable, DirectoryExists, ContentsEqual, and TextContentsEqual to the base namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « base/files/scoped_temp_dir.cc ('k') | base/json/json_value_serializer_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) 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/file_util.h" 7 #include "base/file_util.h"
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/platform_file.h" 9 #include "base/platform_file.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 namespace base { 12 namespace base {
13 13
14 TEST(ScopedTempDir, FullPath) { 14 TEST(ScopedTempDir, FullPath) {
15 FilePath test_path; 15 FilePath test_path;
16 file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("scoped_temp_dir"), 16 file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("scoped_temp_dir"),
17 &test_path); 17 &test_path);
18 18
19 // Against an existing dir, it should get destroyed when leaving scope. 19 // Against an existing dir, it should get destroyed when leaving scope.
20 EXPECT_TRUE(file_util::DirectoryExists(test_path)); 20 EXPECT_TRUE(DirectoryExists(test_path));
21 { 21 {
22 ScopedTempDir dir; 22 ScopedTempDir dir;
23 EXPECT_TRUE(dir.Set(test_path)); 23 EXPECT_TRUE(dir.Set(test_path));
24 EXPECT_TRUE(dir.IsValid()); 24 EXPECT_TRUE(dir.IsValid());
25 } 25 }
26 EXPECT_FALSE(file_util::DirectoryExists(test_path)); 26 EXPECT_FALSE(DirectoryExists(test_path));
27 27
28 { 28 {
29 ScopedTempDir dir; 29 ScopedTempDir dir;
30 EXPECT_TRUE(dir.Set(test_path)); 30 EXPECT_TRUE(dir.Set(test_path));
31 // Now the dir doesn't exist, so ensure that it gets created. 31 // Now the dir doesn't exist, so ensure that it gets created.
32 EXPECT_TRUE(file_util::DirectoryExists(test_path)); 32 EXPECT_TRUE(DirectoryExists(test_path));
33 // When we call Release(), it shouldn't get destroyed when leaving scope. 33 // When we call Release(), it shouldn't get destroyed when leaving scope.
34 FilePath path = dir.Take(); 34 FilePath path = dir.Take();
35 EXPECT_EQ(path.value(), test_path.value()); 35 EXPECT_EQ(path.value(), test_path.value());
36 EXPECT_FALSE(dir.IsValid()); 36 EXPECT_FALSE(dir.IsValid());
37 } 37 }
38 EXPECT_TRUE(file_util::DirectoryExists(test_path)); 38 EXPECT_TRUE(DirectoryExists(test_path));
39 39
40 // Clean up. 40 // Clean up.
41 { 41 {
42 ScopedTempDir dir; 42 ScopedTempDir dir;
43 EXPECT_TRUE(dir.Set(test_path)); 43 EXPECT_TRUE(dir.Set(test_path));
44 } 44 }
45 EXPECT_FALSE(file_util::DirectoryExists(test_path)); 45 EXPECT_FALSE(DirectoryExists(test_path));
46 } 46 }
47 47
48 TEST(ScopedTempDir, TempDir) { 48 TEST(ScopedTempDir, TempDir) {
49 // In this case, just verify that a directory was created and that it's a 49 // In this case, just verify that a directory was created and that it's a
50 // child of TempDir. 50 // child of TempDir.
51 FilePath test_path; 51 FilePath test_path;
52 { 52 {
53 ScopedTempDir dir; 53 ScopedTempDir dir;
54 EXPECT_TRUE(dir.CreateUniqueTempDir()); 54 EXPECT_TRUE(dir.CreateUniqueTempDir());
55 test_path = dir.path(); 55 test_path = dir.path();
56 EXPECT_TRUE(file_util::DirectoryExists(test_path)); 56 EXPECT_TRUE(DirectoryExists(test_path));
57 FilePath tmp_dir; 57 FilePath tmp_dir;
58 EXPECT_TRUE(file_util::GetTempDir(&tmp_dir)); 58 EXPECT_TRUE(file_util::GetTempDir(&tmp_dir));
59 EXPECT_TRUE(test_path.value().find(tmp_dir.value()) != std::string::npos); 59 EXPECT_TRUE(test_path.value().find(tmp_dir.value()) != std::string::npos);
60 } 60 }
61 EXPECT_FALSE(file_util::DirectoryExists(test_path)); 61 EXPECT_FALSE(DirectoryExists(test_path));
62 } 62 }
63 63
64 TEST(ScopedTempDir, UniqueTempDirUnderPath) { 64 TEST(ScopedTempDir, UniqueTempDirUnderPath) {
65 // Create a path which will contain a unique temp path. 65 // Create a path which will contain a unique temp path.
66 FilePath base_path; 66 FilePath base_path;
67 ASSERT_TRUE(file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("base_dir"), 67 ASSERT_TRUE(file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("base_dir"),
68 &base_path)); 68 &base_path));
69 69
70 FilePath test_path; 70 FilePath test_path;
71 { 71 {
72 ScopedTempDir dir; 72 ScopedTempDir dir;
73 EXPECT_TRUE(dir.CreateUniqueTempDirUnderPath(base_path)); 73 EXPECT_TRUE(dir.CreateUniqueTempDirUnderPath(base_path));
74 test_path = dir.path(); 74 test_path = dir.path();
75 EXPECT_TRUE(file_util::DirectoryExists(test_path)); 75 EXPECT_TRUE(DirectoryExists(test_path));
76 EXPECT_TRUE(base_path.IsParent(test_path)); 76 EXPECT_TRUE(base_path.IsParent(test_path));
77 EXPECT_TRUE(test_path.value().find(base_path.value()) != std::string::npos); 77 EXPECT_TRUE(test_path.value().find(base_path.value()) != std::string::npos);
78 } 78 }
79 EXPECT_FALSE(file_util::DirectoryExists(test_path)); 79 EXPECT_FALSE(DirectoryExists(test_path));
80 base::Delete(base_path, true); 80 base::Delete(base_path, true);
81 } 81 }
82 82
83 TEST(ScopedTempDir, MultipleInvocations) { 83 TEST(ScopedTempDir, MultipleInvocations) {
84 ScopedTempDir dir; 84 ScopedTempDir dir;
85 EXPECT_TRUE(dir.CreateUniqueTempDir()); 85 EXPECT_TRUE(dir.CreateUniqueTempDir());
86 EXPECT_FALSE(dir.CreateUniqueTempDir()); 86 EXPECT_FALSE(dir.CreateUniqueTempDir());
87 EXPECT_TRUE(dir.Delete()); 87 EXPECT_TRUE(dir.Delete());
88 EXPECT_TRUE(dir.CreateUniqueTempDir()); 88 EXPECT_TRUE(dir.CreateUniqueTempDir());
89 EXPECT_FALSE(dir.CreateUniqueTempDir()); 89 EXPECT_FALSE(dir.CreateUniqueTempDir());
(...skipping 18 matching lines...) Expand all
108 EXPECT_EQ(base::PLATFORM_FILE_OK, error_code); 108 EXPECT_EQ(base::PLATFORM_FILE_OK, error_code);
109 EXPECT_FALSE(dir.Delete()); // We should not be able to delete. 109 EXPECT_FALSE(dir.Delete()); // We should not be able to delete.
110 EXPECT_FALSE(dir.path().empty()); // We should still have a valid path. 110 EXPECT_FALSE(dir.path().empty()); // We should still have a valid path.
111 EXPECT_TRUE(base::ClosePlatformFile(file)); 111 EXPECT_TRUE(base::ClosePlatformFile(file));
112 // Now, we should be able to delete. 112 // Now, we should be able to delete.
113 EXPECT_TRUE(dir.Delete()); 113 EXPECT_TRUE(dir.Delete());
114 } 114 }
115 #endif // defined(OS_WIN) 115 #endif // defined(OS_WIN)
116 116
117 } // namespace base 117 } // namespace base
OLDNEW
« no previous file with comments | « base/files/scoped_temp_dir.cc ('k') | base/json/json_value_serializer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698