Skip to content
Snippets Groups Projects
Commit 3030f13d authored by Robin Appelman's avatar Robin Appelman
Browse files

some additional test cases for file storage backends

parent 40d343e2
No related branches found
No related tags found
No related merge requests found
...@@ -34,10 +34,41 @@ abstract class Test_FileStorage extends UnitTestCase { ...@@ -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_readable('/'),'Root folder is not readable');
$this->assertTrue($this->instance->is_dir('/'),'Root folder is not a directory'); $this->assertTrue($this->instance->is_dir('/'),'Root folder is not a directory');
$this->assertFalse($this->instance->is_file('/'),'Root folder is a file'); $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 //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'); $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 * test the various uses of file_get_contents and file_put_contents
...@@ -58,6 +89,26 @@ abstract class Test_FileStorage extends UnitTestCase { ...@@ -58,6 +89,26 @@ abstract class Test_FileStorage extends UnitTestCase {
$this->instance->file_put_contents('/lorem.txt',''); $this->instance->file_put_contents('/lorem.txt','');
$this->assertEqual('',$this->instance->file_get_contents('/lorem.txt'),'file not emptied'); $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'));
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment