|
|
|
@ -7,6 +7,12 @@ |
|
|
|
|
|
|
|
|
|
namespace Test\Files; |
|
|
|
|
|
|
|
|
|
class TemporaryNoTouch extends \OC\Files\Storage\Temporary { |
|
|
|
|
public function touch($path, $mtime = null) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
class View extends \PHPUnit_Framework_TestCase { |
|
|
|
|
/** |
|
|
|
|
* @var \OC\Files\Storage\Storage[] $storages; |
|
|
|
@ -228,12 +234,36 @@ class View extends \PHPUnit_Framework_TestCase { |
|
|
|
|
$this->assertEquals(3, $cachedData['size']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function testTouch() { |
|
|
|
|
$storage = $this->getTestStorage(true, '\Test\Files\TemporaryNoTouch'); |
|
|
|
|
|
|
|
|
|
\OC\Files\Filesystem::mount($storage, array(), '/'); |
|
|
|
|
|
|
|
|
|
$rootView = new \OC\Files\View(''); |
|
|
|
|
$oldCachedData = $rootView->getFileInfo('foo.txt'); |
|
|
|
|
|
|
|
|
|
$rootView->touch('foo.txt', 500); |
|
|
|
|
|
|
|
|
|
$cachedData = $rootView->getFileInfo('foo.txt'); |
|
|
|
|
$this->assertEquals(500, $cachedData['mtime']); |
|
|
|
|
$this->assertEquals($oldCachedData['storage_mtime'], $cachedData['storage_mtime']); |
|
|
|
|
|
|
|
|
|
$rootView->putFileInfo('foo.txt', array('storage_mtime' => 1000)); //make sure the watcher detects the change |
|
|
|
|
$rootView->file_put_contents('foo.txt', 'asd'); |
|
|
|
|
$cachedData = $rootView->getFileInfo('foo.txt'); |
|
|
|
|
$this->assertGreaterThanOrEqual($cachedData['mtime'], $oldCachedData['mtime']); |
|
|
|
|
$this->assertEquals($cachedData['storage_mtime'], $cachedData['mtime']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param bool $scan |
|
|
|
|
* @return \OC\Files\Storage\Storage |
|
|
|
|
*/ |
|
|
|
|
private function getTestStorage($scan = true) { |
|
|
|
|
$storage = new \OC\Files\Storage\Temporary(array()); |
|
|
|
|
private function getTestStorage($scan = true, $class = '\OC\Files\Storage\Temporary') { |
|
|
|
|
/** |
|
|
|
|
* @var \OC\Files\Storage\Storage $storage |
|
|
|
|
*/ |
|
|
|
|
$storage = new $class(array()); |
|
|
|
|
$textData = "dummy file data\n"; |
|
|
|
|
$imgData = file_get_contents(\OC::$SERVERROOT . '/core/img/logo.png'); |
|
|
|
|
$storage->mkdir('folder'); |
|
|
|
|