1 // Copyright (c) 2009 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.
5 #include "base/file_util.h"
6 #include "base/scoped_temp_dir.h"
7 #include "testing/gtest/include/gtest/gtest.h"
9 TEST(ScopedTempDir
, FullPath
) {
11 file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("scoped_temp_dir"),
14 // Against an existing dir, it should get destroyed when leaving scope.
15 EXPECT_TRUE(file_util::DirectoryExists(test_path
));
18 EXPECT_TRUE(dir
.Set(test_path
));
19 EXPECT_TRUE(dir
.IsValid());
21 EXPECT_FALSE(file_util::DirectoryExists(test_path
));
26 // Now the dir doesn't exist, so ensure that it gets created.
27 EXPECT_TRUE(file_util::DirectoryExists(test_path
));
28 // When we call Release(), it shouldn't get destroyed when leaving scope.
29 FilePath path
= dir
.Take();
30 EXPECT_EQ(path
.value(), test_path
.value());
31 EXPECT_FALSE(dir
.IsValid());
33 EXPECT_TRUE(file_util::DirectoryExists(test_path
));
40 EXPECT_FALSE(file_util::DirectoryExists(test_path
));
43 TEST(ScopedTempDir
, TempDir
) {
44 // In this case, just verify that a directory was created and that it's a
49 EXPECT_TRUE(dir
.CreateUniqueTempDir());
50 test_path
= dir
.path();
51 EXPECT_TRUE(file_util::DirectoryExists(test_path
));
53 EXPECT_TRUE(file_util::GetTempDir(&tmp_dir
));
54 EXPECT_TRUE(test_path
.value().find(tmp_dir
.value()) != std::string::npos
);
56 EXPECT_FALSE(file_util::DirectoryExists(test_path
));