$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;
}
use OC\Cache\CappedMemoryCache;
use OC\Files\Cache\Watcher;
+use OC\Files\Filesystem;
use OC\Files\Storage\Common;
use OC\Files\Mount\MountPoint;
use OC\Files\Storage\Temporary;
$this->assertEquals($cachedData['storage_mtime'], $cachedData['mtime']);
}
+ /**
+ * @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
*/