diff options
author | Robin Appelman <robin@icewind.nl> | 2017-03-27 17:04:55 +0200 |
---|---|---|
committer | Robin Appelman <robin@icewind.nl> | 2017-03-27 17:07:48 +0200 |
commit | 8de4209c3ef01889bc3aa487137129c3911ca235 (patch) | |
tree | ec34187ff3c7e9b217c9100e586ea83a833de145 | |
parent | f154b1d32ce0d469e5c4f96195e169f1aa4d5406 (diff) | |
download | nextcloud-server-8de4209c3ef01889bc3aa487137129c3911ca235.tar.gz nextcloud-server-8de4209c3ef01889bc3aa487137129c3911ca235.zip |
round the mtime in touch
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r-- | lib/private/Files/View.php | 2 | ||||
-rw-r--r-- | tests/lib/Files/ViewTest.php | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index 506128d7fcd..85c70a1015e 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -569,7 +569,7 @@ class View { $mtime = time(); } //if native touch fails, we emulate it by changing the mtime in the cache - $this->putFileInfo($path, array('mtime' => $mtime)); + $this->putFileInfo($path, array('mtime' => floor($mtime))); } return true; } diff --git a/tests/lib/Files/ViewTest.php b/tests/lib/Files/ViewTest.php index 3635323e169..f1e1ee7d417 100644 --- a/tests/lib/Files/ViewTest.php +++ b/tests/lib/Files/ViewTest.php @@ -591,6 +591,23 @@ class ViewTest extends \Test\TestCase { /** * @medium */ + public function testTouchFloat() { + $storage = $this->getTestStorage(true, TemporaryNoTouch::class); + + Filesystem::mount($storage, array(), '/'); + + $rootView = new View(''); + $oldCachedData = $rootView->getFileInfo('foo.txt'); + + $rootView->touch('foo.txt', 500.5); + + $cachedData = $rootView->getFileInfo('foo.txt'); + $this->assertEquals(500, $cachedData['mtime']); + } + + /** + * @medium + */ public function testViewHooks() { $storage1 = $this->getTestStorage(); $storage2 = $this->getTestStorage(); |