summaryrefslogtreecommitdiffstats
path: root/tests/lib/files
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2012-10-03 13:07:19 +0200
committerRobin Appelman <icewind@owncloud.com>2012-10-03 13:07:19 +0200
commitb9b9fd9dbaae47b3a15aed9694c18b95404550b0 (patch)
tree4fc37a4667a56f9595fad9caafac3f89ee282fc5 /tests/lib/files
parent85be00be6595a3af168f6df963ffdeac8c3c6d5e (diff)
downloadnextcloud-server-b9b9fd9dbaae47b3a15aed9694c18b95404550b0.tar.gz
nextcloud-server-b9b9fd9dbaae47b3a15aed9694c18b95404550b0.zip
more tests and fixes for the filesystem scanner
Diffstat (limited to 'tests/lib/files')
-rw-r--r--tests/lib/files/cache/scanner.php39
1 files changed, 38 insertions, 1 deletions
diff --git a/tests/lib/files/cache/scanner.php b/tests/lib/files/cache/scanner.php
index 7ee28dfc3fd..41286e69d3e 100644
--- a/tests/lib/files/cache/scanner.php
+++ b/tests/lib/files/cache/scanner.php
@@ -45,15 +45,52 @@ class Scanner extends \UnitTestCase {
$this->assertEqual($cachedData['mimetype'], 'image/png');
}
- function testFolder() {
+ private function fillTestFolders() {
$textData = "dummy file data\n";
$imgData = file_get_contents(\OC::$SERVERROOT . '/core/img/logo.png');
+ $this->storage->mkdir('folder');
$this->storage->file_put_contents('foo.txt', $textData);
$this->storage->file_put_contents('foo.png', $imgData);
+ $this->storage->file_put_contents('folder/bar.txt', $textData);
+ }
+
+ function testFolder() {
+ $this->fillTestFolders();
$this->scanner->scan('');
+ $this->assertEqual($this->cache->inCache(''), true);
$this->assertEqual($this->cache->inCache('foo.txt'), true);
$this->assertEqual($this->cache->inCache('foo.png'), true);
+ $this->assertEqual($this->cache->inCache('folder'), true);
+ $this->assertEqual($this->cache->inCache('folder/bar.txt'), true);
+
+ $cachedDataText = $this->cache->get('foo.txt');
+ $cachedDataText2 = $this->cache->get('foo.txt');
+ $cachedDataImage = $this->cache->get('foo.png');
+ $cachedDataFolder = $this->cache->get('');
+ $cachedDataFolder2 = $this->cache->get('folder');
+
+ $this->assertEqual($cachedDataImage['parent'], $cachedDataText['parent']);
+ $this->assertEqual($cachedDataFolder['fileid'], $cachedDataImage['parent']);
+ $this->assertEqual($cachedDataFolder['size'], $cachedDataImage['size'] + $cachedDataText['size'] + $cachedDataText2['size']);
+ $this->assertEqual($cachedDataFolder2['size'], $cachedDataText2['size']);
+ }
+
+ function testShallow() {
+ $this->fillTestFolders();
+
+ $this->scanner->scan('', \OC\Files\Cache\Scanner::SCAN_SHALLOW);
+ $this->assertEqual($this->cache->inCache(''), true);
+ $this->assertEqual($this->cache->inCache('foo.txt'), true);
+ $this->assertEqual($this->cache->inCache('foo.png'), true);
+ $this->assertEqual($this->cache->inCache('folder'), true);
+ $this->assertEqual($this->cache->inCache('folder/bar.txt'), false);
+
+ $cachedDataFolder = $this->cache->get('');
+ $cachedDataFolder2 = $this->cache->get('folder');
+
+ $this->assertEqual($cachedDataFolder['size'], -1);
+ $this->assertEqual($cachedDataFolder2['size'], -1);
}
function setUp() {