diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-18 18:46:03 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-18 18:57:45 +0200 |
commit | 5ce5eb195ac6b464455b1e55ed37af3f555dfb21 (patch) | |
tree | 2ccdaa4d11995a3794a984d21d5a3e61c82ed630 /tests/lib/archive | |
parent | 9eade36ae5ac8d0fd9e002c78494f3ad19f919ab (diff) | |
download | nextcloud-server-5ce5eb195ac6b464455b1e55ed37af3f555dfb21.tar.gz nextcloud-server-5ce5eb195ac6b464455b1e55ed37af3f555dfb21.zip |
Fix namespace for archive tests
Diffstat (limited to 'tests/lib/archive')
-rw-r--r-- | tests/lib/archive/tartest.php (renamed from tests/lib/archive/tar.php) | 11 | ||||
-rw-r--r-- | tests/lib/archive/testbase.php | 144 | ||||
-rw-r--r-- | tests/lib/archive/ziptest.php (renamed from tests/lib/archive/zip.php) | 11 |
3 files changed, 158 insertions, 8 deletions
diff --git a/tests/lib/archive/tar.php b/tests/lib/archive/tartest.php index 2d20bb4c3b1..998ce201e72 100644 --- a/tests/lib/archive/tar.php +++ b/tests/lib/archive/tartest.php @@ -6,23 +6,26 @@ * See the COPYING-README file. */ +namespace Test\Archive; + + use OC\Archive\TAR; -class Test_Archive_TAR extends Test_Archive { +class TARTest extends TestBase { protected function setUp() { parent::setUp(); - if (OC_Util::runningOnWindows()) { + if (\OC_Util::runningOnWindows()) { $this->markTestSkipped('[Windows] tar archives are not supported on Windows'); } } protected function getExisting() { - $dir = OC::$SERVERROOT . '/tests/data'; + $dir = \OC::$SERVERROOT . '/tests/data'; return new TAR($dir . '/data.tar.gz'); } protected function getNew() { - return new TAR(OCP\Files::tmpFile('.tar.gz')); + return new TAR(\OCP\Files::tmpFile('.tar.gz')); } } diff --git a/tests/lib/archive/testbase.php b/tests/lib/archive/testbase.php new file mode 100644 index 00000000000..5bf4d9d43ea --- /dev/null +++ b/tests/lib/archive/testbase.php @@ -0,0 +1,144 @@ +<?php +/** + * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test\Archive; + + +abstract class TestBase extends \Test\TestCase { + /** + * @var \OC\Archive\Archive + */ + protected $instance; + + /** + * get the existing test archive + * @return \OC\Archive\Archive + */ + abstract protected function getExisting(); + /** + * get a new archive for write testing + * @return \OC\Archive\Archive + */ + abstract protected function getNew(); + + public function testGetFiles() { + $this->instance=$this->getExisting(); + $allFiles=$this->instance->getFiles(); + $expected=array('lorem.txt','logo-wide.png','dir/', 'dir/lorem.txt'); + $this->assertEquals(4, count($allFiles), 'only found '.count($allFiles).' out of 4 expected files'); + foreach($expected as $file) { + $this->assertContains($file, $allFiles, 'cant find '. $file . ' in archive'); + $this->assertTrue($this->instance->fileExists($file), 'file '.$file.' does not exist in archive'); + } + $this->assertFalse($this->instance->fileExists('non/existing/file')); + + $rootContent=$this->instance->getFolder(''); + $expected=array('lorem.txt','logo-wide.png', 'dir/'); + $this->assertEquals(3, count($rootContent)); + foreach($expected as $file) { + $this->assertContains($file, $rootContent, 'cant find '. $file . ' in archive'); + } + + $dirContent=$this->instance->getFolder('dir/'); + $expected=array('lorem.txt'); + $this->assertEquals(1, count($dirContent)); + foreach($expected as $file) { + $this->assertContains($file, $dirContent, 'cant find '. $file . ' in archive'); + } + } + + public function testContent() { + $this->instance=$this->getExisting(); + $dir=\OC::$SERVERROOT.'/tests/data'; + $textFile=$dir.'/lorem.txt'; + $this->assertEquals(file_get_contents($textFile), $this->instance->getFile('lorem.txt')); + + $tmpFile=\OCP\Files::tmpFile('.txt'); + $this->instance->extractFile('lorem.txt', $tmpFile); + $this->assertEquals(file_get_contents($textFile), file_get_contents($tmpFile)); + } + + public function testWrite() { + $dir=\OC::$SERVERROOT.'/tests/data'; + $textFile=$dir.'/lorem.txt'; + $this->instance=$this->getNew(); + $this->assertEquals(0, count($this->instance->getFiles())); + $this->instance->addFile('lorem.txt', $textFile); + $this->assertEquals(1, count($this->instance->getFiles())); + $this->assertTrue($this->instance->fileExists('lorem.txt')); + $this->assertFalse($this->instance->fileExists('lorem.txt/')); + + $this->assertEquals(file_get_contents($textFile), $this->instance->getFile('lorem.txt')); + $this->instance->addFile('lorem.txt', 'foobar'); + $this->assertEquals('foobar', $this->instance->getFile('lorem.txt')); + } + + public function testReadStream() { + $dir=\OC::$SERVERROOT.'/tests/data'; + $this->instance=$this->getExisting(); + $fh=$this->instance->getStream('lorem.txt', 'r'); + $this->assertTrue((bool)$fh); + $content=fread($fh, $this->instance->filesize('lorem.txt')); + fclose($fh); + $this->assertEquals(file_get_contents($dir.'/lorem.txt'), $content); + } + public function testWriteStream() { + $dir=\OC::$SERVERROOT.'/tests/data'; + $this->instance=$this->getNew(); + $fh=$this->instance->getStream('lorem.txt', 'w'); + $source=fopen($dir.'/lorem.txt', 'r'); + \OCP\Files::streamCopy($source, $fh); + fclose($source); + fclose($fh); + $this->assertTrue($this->instance->fileExists('lorem.txt')); + $this->assertEquals(file_get_contents($dir.'/lorem.txt'), $this->instance->getFile('lorem.txt')); + } + public function testFolder() { + $this->instance=$this->getNew(); + $this->assertFalse($this->instance->fileExists('/test')); + $this->assertFalse($this->instance->fileExists('/test/')); + $this->instance->addFolder('/test'); + $this->assertTrue($this->instance->fileExists('/test')); + $this->assertTrue($this->instance->fileExists('/test/')); + $this->instance->remove('/test'); + $this->assertFalse($this->instance->fileExists('/test')); + $this->assertFalse($this->instance->fileExists('/test/')); + } + public function testExtract() { + $dir=\OC::$SERVERROOT.'/tests/data'; + $this->instance=$this->getExisting(); + $tmpDir=\OCP\Files::tmpFolder(); + $this->instance->extract($tmpDir); + $this->assertEquals(true, file_exists($tmpDir.'lorem.txt')); + $this->assertEquals(true, file_exists($tmpDir.'dir/lorem.txt')); + $this->assertEquals(true, file_exists($tmpDir.'logo-wide.png')); + $this->assertEquals(file_get_contents($dir.'/lorem.txt'), file_get_contents($tmpDir.'lorem.txt')); + \OCP\Files::rmdirr($tmpDir); + } + public function testMoveRemove() { + $dir=\OC::$SERVERROOT.'/tests/data'; + $textFile=$dir.'/lorem.txt'; + $this->instance=$this->getNew(); + $this->instance->addFile('lorem.txt', $textFile); + $this->assertFalse($this->instance->fileExists('target.txt')); + $this->instance->rename('lorem.txt', 'target.txt'); + $this->assertTrue($this->instance->fileExists('target.txt')); + $this->assertFalse($this->instance->fileExists('lorem.txt')); + $this->assertEquals(file_get_contents($textFile), $this->instance->getFile('target.txt')); + $this->instance->remove('target.txt'); + $this->assertFalse($this->instance->fileExists('target.txt')); + } + public function testRecursive() { + $dir=\OC::$SERVERROOT.'/tests/data'; + $this->instance=$this->getNew(); + $this->instance->addRecursive('/dir', $dir); + $this->assertTrue($this->instance->fileExists('/dir/lorem.txt')); + $this->assertTrue($this->instance->fileExists('/dir/data.zip')); + $this->assertTrue($this->instance->fileExists('/dir/data.tar.gz')); + } +} diff --git a/tests/lib/archive/zip.php b/tests/lib/archive/ziptest.php index 2f4c9cace1d..8d639e0d686 100644 --- a/tests/lib/archive/zip.php +++ b/tests/lib/archive/ziptest.php @@ -6,23 +6,26 @@ * See the COPYING-README file. */ +namespace Test\Archive; + + use OC\Archive\ZIP; -class Test_Archive_ZIP extends Test_Archive { +class ZIPTest extends TestBase { protected function setUp() { parent::setUp(); - if (OC_Util::runningOnWindows()) { + if (\OC_Util::runningOnWindows()) { $this->markTestSkipped('[Windows] '); } } protected function getExisting() { - $dir = OC::$SERVERROOT . '/tests/data'; + $dir = \OC::$SERVERROOT . '/tests/data'; return new ZIP($dir . '/data.zip'); } protected function getNew() { - return new ZIP(OCP\Files::tmpFile('.zip')); + return new ZIP(\OCP\Files::tmpFile('.zip')); } } |