diff options
author | xue <> | 2006-03-12 16:28:21 +0000 |
---|---|---|
committer | xue <> | 2006-03-12 16:28:21 +0000 |
commit | 6ae6538555d45b3e947f5ce0d948d9b88d95364a (patch) | |
tree | 55c9622a90debe81de45f8af5cf10e3293862965 /tests/FunctionalTests/PradoTester.php | |
parent | 5f66433898f89865a6682ad9aebfeef14b596dea (diff) |
reorganized FT.
Diffstat (limited to 'tests/FunctionalTests/PradoTester.php')
-rw-r--r-- | tests/FunctionalTests/PradoTester.php | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/FunctionalTests/PradoTester.php b/tests/FunctionalTests/PradoTester.php new file mode 100644 index 00000000..8d081e0f --- /dev/null +++ b/tests/FunctionalTests/PradoTester.php @@ -0,0 +1,54 @@ +<?php
+
+$SIMPLE_TEST = dirname(__FILE__).'/../UnitTests';
+
+require_once($SIMPLE_TEST.'/simpletest/unit_tester.php');
+require_once($SIMPLE_TEST.'/simpletest/web_tester.php');
+require_once($SIMPLE_TEST.'/simpletest/mock_objects.php');
+require_once($SIMPLE_TEST.'/simpletest/reporter.php');
+require(dirname(__FILE__).'/selenium/php/selenium.php');
+
+class PradoTester
+{
+ private $_name;
+ private $_basePath;
+
+ public function __construct($basePath,$name='All Tests')
+ {
+ $this->_name=$name;
+ if($basePath==='' || ($this->_basePath=realpath($basePath))===false)
+ throw new Exception('Invalid base path '.$basePath);
+ $this->_basePath=strtr($this->_basePath,'\\','/');
+ }
+
+ public function run($simpleReporter)
+ {
+ $groupTest=new GroupTest($this->_name);
+ $this->collectTestFiles($groupTest,$this->_basePath);
+ $groupTest->run($simpleReporter);
+
+ $server=SimpleSeleniumProxyServer::getInstance(dirname(__FILE__));
+ $server->handleRequest();
+ }
+
+ protected function collectTestFiles($groupTest,$basePath)
+ {
+ $folder=@opendir($basePath);
+ while($entry=@readdir($folder))
+ {
+ $fullPath=strtr($basePath.'/'.$entry,'\\','/');
+ if(is_file($fullPath) && $this->isValidFile($entry))
+ $groupTest->addTestFile($fullPath);
+ else if($entry[0]!=='.')
+ $this->collectTestFiles($groupTest,$fullPath);
+ }
+ closedir($folder);
+ }
+
+ protected function isValidFile($entry)
+ {
+ return preg_match('/\w+\.php$/',$entry);
+ }
+}
+
+?>
\ No newline at end of file |