diff options
author | ericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-25 05:12:41 +0000 |
---|---|---|
committer | ericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-25 05:12:41 +0000 |
commit | 2517cfa5066e63e6ed2642779ea57616ae49eb42 (patch) | |
tree | d8e7ff16e4676c38d9789d5329c732fb363ce051 /webkit/fileapi/file_system_operation_unittest.cc | |
parent | 3fe4381580b1cf5ed2637aeb6bea25e86e1db9b4 (diff) | |
download | chromium_src-2517cfa5066e63e6ed2642779ea57616ae49eb42.zip chromium_src-2517cfa5066e63e6ed2642779ea57616ae49eb42.tar.gz chromium_src-2517cfa5066e63e6ed2642779ea57616ae49eb42.tar.bz2 |
Fix OFSFU's Touch to match the other FSFU subclasses.
Fix its test to enforce that, and add a test for FileSystemOperation::TouchFile.
BUG=none
TEST=test_shell_tests
Review URL: http://codereview.chromium.org/7685039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98187 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/file_system_operation_unittest.cc')
-rw-r--r-- | webkit/fileapi/file_system_operation_unittest.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/webkit/fileapi/file_system_operation_unittest.cc b/webkit/fileapi/file_system_operation_unittest.cc index f56dfe5..50e5ea8 100644 --- a/webkit/fileapi/file_system_operation_unittest.cc +++ b/webkit/fileapi/file_system_operation_unittest.cc @@ -956,4 +956,35 @@ TEST_F(FileSystemOperationTest, TestTruncateFailureByQuota) { EXPECT_EQ(10, info.size); } +TEST_F(FileSystemOperationTest, TestTouchFile) { + FilePath file_path(CreateVirtualTemporaryFileInDir(FilePath())); + FilePath platform_path = PlatformPath(file_path); + + base::PlatformFileInfo info; + + EXPECT_TRUE(file_util::GetFileInfo(platform_path, &info)); + EXPECT_FALSE(info.is_directory); + EXPECT_EQ(0, info.size); + const base::Time last_modified = info.last_modified; + const base::Time last_accessed = info.last_accessed; + + const base::Time new_modified_time = base::Time::UnixEpoch(); + const base::Time new_accessed_time = new_modified_time + + base::TimeDelta::FromHours(77);; + ASSERT_NE(last_modified, new_modified_time); + ASSERT_NE(last_accessed, new_accessed_time); + + operation()->TouchFile(URLForPath(file_path), new_accessed_time, + new_modified_time); + MessageLoop::current()->RunAllPending(); + EXPECT_EQ(base::PLATFORM_FILE_OK, status()); + + EXPECT_TRUE(file_util::GetFileInfo(platform_path, &info)); + // We compare as time_t here to lower our resolution, to avoid false + // negatives caused by conversion to the local filesystem's native + // representation and back. + EXPECT_EQ(new_modified_time.ToTimeT(), info.last_modified.ToTimeT()); + EXPECT_EQ(new_accessed_time.ToTimeT(), info.last_accessed.ToTimeT()); +} + } // namespace fileapi |