aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Files/View.php2
-rw-r--r--tests/lib/Files/ViewTest.php17
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();