summaryrefslogtreecommitdiff
path: root/chromium/base/files/file_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/files/file_unittest.cc')
-rw-r--r--chromium/base/files/file_unittest.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/chromium/base/files/file_unittest.cc b/chromium/base/files/file_unittest.cc
index 757e1b223cf..1bc09facd03 100644
--- a/chromium/base/files/file_unittest.cc
+++ b/chromium/base/files/file_unittest.cc
@@ -39,6 +39,7 @@ TEST(FileTest, Create) {
File file(file_path, base::File::FLAG_OPEN | base::File::FLAG_READ);
EXPECT_FALSE(file.IsValid());
EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, file.error_details());
+ EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, base::File::GetLastFileError());
}
{
@@ -80,6 +81,7 @@ TEST(FileTest, Create) {
EXPECT_FALSE(file.IsValid());
EXPECT_FALSE(file.created());
EXPECT_EQ(base::File::FILE_ERROR_EXISTS, file.error_details());
+ EXPECT_EQ(base::File::FILE_ERROR_EXISTS, base::File::GetLastFileError());
}
{
@@ -237,6 +239,25 @@ TEST(FileTest, ReadWrite) {
EXPECT_EQ(data_to_write[i - kOffsetBeyondEndOfFile], data_read_2[i]);
}
+TEST(FileTest, GetLastFileError) {
+#if defined(OS_WIN)
+ ::SetLastError(ERROR_ACCESS_DENIED);
+#else
+ errno = EACCES;
+#endif
+ EXPECT_EQ(File::FILE_ERROR_ACCESS_DENIED, File::GetLastFileError());
+
+ base::ScopedTempDir temp_dir;
+ EXPECT_TRUE(temp_dir.CreateUniqueTempDir());
+
+ FilePath nonexistent_path(temp_dir.GetPath().AppendASCII("nonexistent"));
+ File file(nonexistent_path, File::FLAG_OPEN | File::FLAG_READ);
+ File::Error last_error = File::GetLastFileError();
+ EXPECT_FALSE(file.IsValid());
+ EXPECT_EQ(File::FILE_ERROR_NOT_FOUND, file.error_details());
+ EXPECT_EQ(File::FILE_ERROR_NOT_FOUND, last_error);
+}
+
TEST(FileTest, Append) {
base::ScopedTempDir temp_dir;
ASSERT_TRUE(temp_dir.CreateUniqueTempDir());