zoe Sun May 17 10:36:44 2009 UTC Modified files: /phpruntests/src/testcase/sections/executablesections rtFileExternalSection.php Log: adding in extended class http://cvs.php.net/viewvc.cgi/phpruntests/src/testcase/sections/executablesections/rtFileExternalSection.php?r1=1.3&r2=1.4&diff_format=u Index: phpruntests/src/testcase/sections/executablesections/rtFileExternalSection.php diff -u /dev/null phpruntests/src/testcase/sections/executablesections/rtFileExternalSection.php:1.4 --- /dev/null Sun May 17 10:36:44 2009 +++ phpruntests/src/testcase/sections/executablesections/rtFileExternalSection.php Sun May 17 10:36:44 2009 @@ -0,0 +1,56 @@ +<?php +/** + * rtFileExternalSection + * Executes the code in the --FILE_EXTERNAL-- section + * + * @category Testing + * @package RUNTESTS + * @author Zoe Slattery <z...@php.net> + * @author Stefan Priebsch <sprieb...@php.net> + * @author Georg Gradwohl <g...@php.net> + * @copyright 2009 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @link http://qa.php.net/ + */ +class rtFileExternalSection extends rtFileSection +{ + + public function run(rtPhpTest $testCase, rtRuntestsConfiguration $runConfiguration) + { + if ($this->copyExternalFileContent() === true) { + + return parent::run($testCase, $runConfiguration); + } + + return $this->status; + } + + + private function copyExternalFileContent() + { + if (sizeof($this->sectionContents) == 1) { + + $file = $this->sectionContents[0]; + + // don't allow tests to retrieve files from anywhere but this subdirectory + $file = dirname($this->fileName).'/'.trim(str_replace('..', '', $file)); + + if (file_exists($file)) { + + $this->sectionContents[0] = file_get_contents($file); + return true; + + } else { + + $this->status['fail'] = 'Can not open external file '.$file; + } + + } else { + + $this->status['fail'] = 'One file per testcase permitted.'; + } + + return false; + } +} +?>
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php