Convert base::file_util to use File instead of PlatformFile.
BUG=322664
R=brettw@chromium.org
TBR=darin@chromium.org
Review URL: https://codereview.chromium.org/101143006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243235 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: 54124ed0423cd16e594535fdd9e779f82235fa1a
diff --git a/base/files/file_unittest.cc b/base/files/file_unittest.cc
index 16eece1..224776f 100644
--- a/base/files/file_unittest.cc
+++ b/base/files/file_unittest.cc
@@ -374,3 +374,28 @@
EXPECT_EQ(std::string(buffer, buffer + kDataSize),
std::string(kData));
}
+
+#if defined(OS_WIN)
+TEST(File, GetInfoForDirectory) {
+ base::ScopedTempDir temp_dir;
+ ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
+ FilePath empty_dir = temp_dir.path().Append(FILE_PATH_LITERAL("gpfi_test"));
+ ASSERT_TRUE(CreateDirectory(empty_dir));
+
+ base::File dir(
+ ::CreateFile(empty_dir.value().c_str(),
+ FILE_ALL_ACCESS,
+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS, // Needed to open a directory.
+ NULL));
+ ASSERT_TRUE(dir.IsValid());
+
+ base::File::Info info;
+ EXPECT_TRUE(dir.GetInfo(&info));
+ EXPECT_TRUE(info.is_directory);
+ EXPECT_FALSE(info.is_symbolic_link);
+ EXPECT_EQ(0, info.size);
+}
+#endif // defined(OS_WIN)