diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-02-13 10:25:45 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-02-13 10:25:45 +0100 |
commit | 3030f13d5fd89c93bcd54fcdc62c7d9eac53aa81 (patch) | |
tree | 77abe674399e0f7965dd68abb212c226ad511cbe /tests | |
parent | 40d343e2afc6e6a5a8a65093065315506e0b9be0 (diff) | |
download | nextcloud-server-3030f13d5fd89c93bcd54fcdc62c7d9eac53aa81.tar.gz nextcloud-server-3030f13d5fd89c93bcd54fcdc62c7d9eac53aa81.zip |
some additional test cases for file storage backends
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/filestorage.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/lib/filestorage.php b/tests/lib/filestorage.php index edb029d916f..7f024dafaa3 100644 --- a/tests/lib/filestorage.php +++ b/tests/lib/filestorage.php @@ -34,10 +34,41 @@ abstract class Test_FileStorage extends UnitTestCase { $this->assertTrue($this->instance->is_readable('/'),'Root folder is not readable'); $this->assertTrue($this->instance->is_dir('/'),'Root folder is not a directory'); $this->assertFalse($this->instance->is_file('/'),'Root folder is a file'); + $this->assertEqual('dir',$this->instance->filetype('/')); //without this, any further testing would be useless, not an acutal requirement for filestorage though $this->assertTrue($this->instance->is_writable('/'),'Root folder is not writable'); } + + public function testDirectories(){ + $this->assertFalse($this->instance->file_exists('/folder')); + + $this->assertTrue($this->instance->mkdir('/folder')); + + $this->assertTrue($this->instance->file_exists('/folder')); + $this->assertTrue($this->instance->is_dir('/folder')); + $this->assertFalse($this->instance->is_file('/folder')); + $this->assertEqual('dir',$this->instance->filetype('/folder')); + $this->assertEqual(0,$this->instance->filesize('/folder')); + $this->assertTrue($this->instance->is_readable('/folder')); + $this->assertTrue($this->instance->is_writable('/folder')); + + $dh=$this->instance->opendir('/'); + $content=array(); + while($file=readdir($dh)){ + if($file!='.' and $file!='..'){ + $content[]=$file; + } + } + $this->assertEqual(array('folder'),$content); + + $this->assertFalse($this->instance->mkdir('/folder'));//cant create existing folders + $this->assertTrue($this->instance->rmdir('/folder')); + + $this->assertFalse($this->instance->file_exists('/folder')); + + $this->assertFalse($this->instance->rmdir('/folder'));//cant remove non existing folders + } /** * test the various uses of file_get_contents and file_put_contents @@ -58,6 +89,26 @@ abstract class Test_FileStorage extends UnitTestCase { $this->instance->file_put_contents('/lorem.txt',''); $this->assertEqual('',$this->instance->file_get_contents('/lorem.txt'),'file not emptied'); } + + /** + * test various known mimetypes + */ + public function testMimeType(){ + $this->assertEqual('httpd/unix-directory',$this->instance->getMimeType('/')); + $this->assertEqual(false,$this->instance->getMimeType('/non/existing/file')); + + $textFile=OC::$SERVERROOT.'/tests/data/lorem.txt'; + $this->instance->file_put_contents('/lorem.txt',fopen($textFile,'r')); + $this->assertEqual('text/plain',$this->instance->getMimeType('/lorem.txt')); + + $pngFile=OC::$SERVERROOT.'/tests/data/logo-wide.png'; + $this->instance->file_put_contents('/logo-wide.png',fopen($pngFile,'r')); + $this->assertEqual('image/png',$this->instance->getMimeType('/logo-wide.png')); + + $svgFile=OC::$SERVERROOT.'/tests/data/logo-wide.svg'; + $this->instance->file_put_contents('/logo-wide.svg',fopen($svgFile,'r')); + $this->assertEqual('image/svg+xml',$this->instance->getMimeType('/logo-wide.svg')); + } } |