summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-04-04 16:21:50 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2014-04-04 16:21:50 +0200
commitccf1287fbf8baa083c7c043b0ed0df054ecaf9c1 (patch)
tree3994c0b9ced2b48191c4d15735bd18c65cfe598c /tests
parentf029312e5b20a540aa94f2ead4581a8b653b1c5c (diff)
downloadnextcloud-server-ccf1287fbf8baa083c7c043b0ed0df054ecaf9c1.tar.gz
nextcloud-server-ccf1287fbf8baa083c7c043b0ed0df054ecaf9c1.zip
adding unit test for cache mechanism
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/preview.php136
1 files changed, 96 insertions, 40 deletions
diff --git a/tests/lib/preview.php b/tests/lib/preview.php
index fb1c959b45a..4ef61fb8257 100644
--- a/tests/lib/preview.php
+++ b/tests/lib/preview.php
@@ -10,66 +10,73 @@ namespace Test;
class Preview extends \PHPUnit_Framework_TestCase {
- public function testIsPreviewDeleted() {
- $user = $this->initFS();
+ /**
+ * @var string
+ */
+ private $user;
- $rootView = new \OC\Files\View('');
- $rootView->mkdir('/'.$user);
- $rootView->mkdir('/'.$user.'/files');
+ /**
+ * @var \OC\Files\View
+ */
+ private $rootView;
- $sampleFile = '/'.$user.'/files/test.txt';
+ public function setUp() {
+ $this->user = $this->initFS();
- $rootView->file_put_contents($sampleFile, 'dummy file data');
+ $this->rootView = new \OC\Files\View('');
+ $this->rootView->mkdir('/'.$this->user);
+ $this->rootView->mkdir('/'.$this->user.'/files');
+ }
+
+ public function testIsPreviewDeleted() {
+
+ $sampleFile = '/'.$this->user.'/files/test.txt';
+
+ $this->rootView->file_put_contents($sampleFile, 'dummy file data');
$x = 50;
$y = 50;
- $preview = new \OC\Preview($user, 'files/', 'test.txt', $x, $y);
+ $preview = new \OC\Preview($this->user, 'files/', 'test.txt', $x, $y);
$preview->getPreview();
- $fileInfo = $rootView->getFileInfo($sampleFile);
+ $fileInfo = $this->rootView->getFileInfo($sampleFile);
$fileId = $fileInfo['fileid'];
- $thumbCacheFile = '/' . $user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $x . '-' . $y . '.png';
+ $thumbCacheFile = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $x . '-' . $y . '.png';
- $this->assertEquals($rootView->file_exists($thumbCacheFile), true);
+ $this->assertEquals($this->rootView->file_exists($thumbCacheFile), true);
$preview->deletePreview();
- $this->assertEquals($rootView->file_exists($thumbCacheFile), false);
+ $this->assertEquals($this->rootView->file_exists($thumbCacheFile), false);
}
public function testAreAllPreviewsDeleted() {
- $user = $this->initFS();
-
- $rootView = new \OC\Files\View('');
- $rootView->mkdir('/'.$user);
- $rootView->mkdir('/'.$user.'/files');
- $sampleFile = '/'.$user.'/files/test.txt';
+ $sampleFile = '/'.$this->user.'/files/test.txt';
- $rootView->file_put_contents($sampleFile, 'dummy file data');
+ $this->rootView->file_put_contents($sampleFile, 'dummy file data');
$x = 50;
$y = 50;
- $preview = new \OC\Preview($user, 'files/', 'test.txt', $x, $y);
+ $preview = new \OC\Preview($this->user, 'files/', 'test.txt', $x, $y);
$preview->getPreview();
- $fileInfo = $rootView->getFileInfo($sampleFile);
+ $fileInfo = $this->rootView->getFileInfo($sampleFile);
$fileId = $fileInfo['fileid'];
- $thumbCacheFolder = '/' . $user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/';
+ $thumbCacheFolder = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/';
- $this->assertEquals($rootView->is_dir($thumbCacheFolder), true);
+ $this->assertEquals($this->rootView->is_dir($thumbCacheFolder), true);
$preview->deleteAllPreviews();
- $this->assertEquals($rootView->is_dir($thumbCacheFolder), false);
+ $this->assertEquals($this->rootView->is_dir($thumbCacheFolder), false);
}
public function testIsMaxSizeWorking() {
- $user = $this->initFS();
$maxX = 250;
$maxY = 250;
@@ -77,15 +84,11 @@ class Preview extends \PHPUnit_Framework_TestCase {
\OC_Config::setValue('preview_max_x', $maxX);
\OC_Config::setValue('preview_max_y', $maxY);
- $rootView = new \OC\Files\View('');
- $rootView->mkdir('/'.$user);
- $rootView->mkdir('/'.$user.'/files');
+ $sampleFile = '/'.$this->user.'/files/test.txt';
- $sampleFile = '/'.$user.'/files/test.txt';
+ $this->rootView->file_put_contents($sampleFile, 'dummy file data');
- $rootView->file_put_contents($sampleFile, 'dummy file data');
-
- $preview = new \OC\Preview($user, 'files/', 'test.txt', 1000, 1000);
+ $preview = new \OC\Preview($this->user, 'files/', 'test.txt', 1000, 1000);
$image = $preview->getPreview();
$this->assertEquals($image->width(), $maxX);
@@ -108,18 +111,13 @@ class Preview extends \PHPUnit_Framework_TestCase {
* @dataProvider txtBlacklist
*/
public function testIsTransparent($extension, $data, $expectedResult) {
- $user = $this->initFS();
-
- $rootView = new \OC\Files\View('');
- $rootView->mkdir('/'.$user);
- $rootView->mkdir('/'.$user.'/files');
$x = 32;
$y = 32;
- $sample = '/'.$user.'/files/test.'.$extension;
- $rootView->file_put_contents($sample, $data);
- $preview = new \OC\Preview($user, 'files/', 'test.'.$extension, $x, $y);
+ $sample = '/'.$this->user.'/files/test.'.$extension;
+ $this->rootView->file_put_contents($sample, $data);
+ $preview = new \OC\Preview($this->user, 'files/', 'test.'.$extension, $x, $y);
$image = $preview->getPreview();
$resource = $image->resource();
@@ -133,6 +131,64 @@ class Preview extends \PHPUnit_Framework_TestCase {
);
}
+ public function testCreationFromCached() {
+
+ $sampleFile = '/'.$this->user.'/files/test.txt';
+
+ $this->rootView->file_put_contents($sampleFile, 'dummy file data');
+
+ // create base preview
+ $x = 150;
+ $y = 150;
+
+ $preview = new \OC\Preview($this->user, 'files/', 'test.txt', $x, $y);
+ $preview->getPreview();
+
+ $fileInfo = $this->rootView->getFileInfo($sampleFile);
+ $fileId = $fileInfo['fileid'];
+
+ $thumbCacheFile = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $x . '-' . $y . '.png';
+
+ $this->assertEquals($this->rootView->file_exists($thumbCacheFile), true);
+
+
+ // create smaller previews
+ $preview = new \OC\Preview($this->user, 'files/', 'test.txt', 50, 50);
+ $isCached = $preview->isCached($fileId);
+
+ $this->assertEquals($this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/150-150.png', $isCached);
+ }
+
+ /*
+ public function testScalingUp() {
+
+ $sampleFile = '/'.$this->user.'/files/test.txt';
+
+ $this->rootView->file_put_contents($sampleFile, 'dummy file data');
+
+ // create base preview
+ $x = 150;
+ $y = 150;
+
+ $preview = new \OC\Preview($this->user, 'files/', 'test.txt', $x, $y);
+ $preview->getPreview();
+
+ $fileInfo = $this->rootView->getFileInfo($sampleFile);
+ $fileId = $fileInfo['fileid'];
+
+ $thumbCacheFile = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $x . '-' . $y . '.png';
+
+ $this->assertEquals($this->rootView->file_exists($thumbCacheFile), true);
+
+
+ // create bigger previews - with scale up
+ $preview = new \OC\Preview($this->user, 'files/', 'test.txt', 250, 250);
+ $isCached = $preview->isCached($fileId);
+
+ $this->assertEquals($this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/150-150.png', $isCached);
+ }
+ */
+
private function initFS() {
// create a new user with his own filesystem view
// this gets called by each test in this test class