From bb5a2a917b78fb13657ac9ebbcc067bd02b22126 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 12 Jun 2011 00:58:47 +0200 Subject: test case library and start of filesystem test --- tests/index.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++ tests/lib/filesystem.php | 31 +++++++++++++++++++ tests/templates/index.php | 11 +++++++ 3 files changed, 121 insertions(+) create mode 100644 tests/index.php create mode 100644 tests/lib/filesystem.php create mode 100644 tests/templates/index.php (limited to 'tests') diff --git a/tests/index.php b/tests/index.php new file mode 100644 index 00000000000..5e0dbc2c838 --- /dev/null +++ b/tests/index.php @@ -0,0 +1,79 @@ +. +* +*/ + + +/** + * run all test cases + */ + $RUNTIME_NOSETUPFS=true; +require_once('../lib/base.php'); +require_once('testcase.php'); +require_once('template.php'); + +$testCases=loadFiles(__DIR__,array('index.php','templates')); + +$testResults=array(); +foreach($testCases as $testCaseClass){ + $testCase=new $testCaseClass(); + $results=array(); + foreach($testCase->getTests() as $test){ + $testCase->setup(); + try{ + $testCase->$test(); + $results[$test]='Ok'; + }catch(Exception $e){ + $results[$test]=$e->getMessage(); + } + $testCase->tearDown(); + } + $testResults[$testCaseClass]=$results; +} + +$tmpl = new OC_TEMPLATE( 'tests', 'index'); +$tmpl->assign('tests',$testResults); +$tmpl->printPage(); + +/** + * recursively load all files in a folder + * @param string $path + * @param array $exclude list of files to exclude + */ +function loadFiles($path,$exclude=false){ + $results=array(); + if(!$exclude){ + $exclude=array(); + } + $dh=opendir($path); + while($file=readdir($dh)){ + if($file!='.' && $file!='..' && array_search($file,$exclude)===false){ + if(is_file($path.'/'.$file)){ + $result=require_once($path.'/'.$file); + $results[]=$result; + }else{ + $subResults=loadFiles($path.'/'.$file); + $results=array_merge($results,$subResults); + } + } + } + return $results; +} +?> \ No newline at end of file diff --git a/tests/lib/filesystem.php b/tests/lib/filesystem.php new file mode 100644 index 00000000000..a1ded471a65 --- /dev/null +++ b/tests/lib/filesystem.php @@ -0,0 +1,31 @@ +assertEquals(true, OC_FILESYSTEM::is_dir('/'),'Root is not a directory'); + } + + public function fileExists(){ + $this->assertEquals(false, OC_FILESYSTEM::file_exists('/dummy'),'Unexpected result with non-existing file'); + OC_FILESYSTEM::file_put_contents('/dummy','foo'); + $this->assertEquals(true, OC_FILESYSTEM::file_exists('/dummy'),'Unexpected result with existing file'); + } + + public function mkdir(){ + OC_FILESYSTEM::mkdir('/dummy'); + $this->assertEquals(true, OC_FILESYSTEM::file_exists('/dummy'),'No such file or directory after creating folder'); + $this->assertEquals(true, OC_FILESYSTEM::is_dir('/dummy'),'File created instead of filder'); + } + + public function tearDown(){ + OC_FILESYSTEM::chroot(''); + OC_FILESYSTEM::delTree('/testuser'); + OC_UTIL::tearDownFS(); + } +} +return 'OC_FILEYSYSTEM_Test'; +?> \ No newline at end of file diff --git a/tests/templates/index.php b/tests/templates/index.php new file mode 100644 index 00000000000..b8d3dac0666 --- /dev/null +++ b/tests/templates/index.php @@ -0,0 +1,11 @@ +$results):?> +

+ + \ No newline at end of file -- cgit v1.2.3