diff options
Diffstat (limited to 'chromium/base/files/file_unittest.cc')
-rw-r--r-- | chromium/base/files/file_unittest.cc | 21 |
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()); |