示例#1
0
 /**
 	Add a result to the result array.
 
 	Results must be either "success" or "skip" or an Exception.
 
 	@param	$sFile			The filename of the unit test case.
 	@param	$mResult		The result of the unit test case.
 	@param	$fTime			Execution time of the test.
 	@throw	DomainException	$mResult is not a valid result.
 */
 protected function addResult($sFile, $mResult, $fTime = 0, $iMemoryUsed = 0)
 {
     $mResult == 'success' or $mResult == 'skip' or is_object($mResult) and $mResult instanceof Exception or burn('DomainException', _WT('$mResult is not a valid result.'));
     $this->aResults[$sFile] = $mResult;
     // Shorten the filename by limiting it to ROOT_PATH when we are inside ROOT_PATH
     // Just improves the display, don't change it for the $aResults array
     $sFile = str_replace(realpath(ROOT_PATH) . '/', '', $sFile);
     if (!is_string($this->mLastResult) || !is_string($mResult)) {
         echo "--\n";
     }
     echo $sFile . ': ';
     if ($mResult === 'success') {
         echo _WT('success') . ' [' . round($fTime, 2) . "s]\n";
         $this->aMemoryResults[$sFile] = $iMemoryUsed;
         $this->aTimeResults[$sFile] = $fTime;
     } elseif ($mResult === 'skip') {
         echo _WT('skip') . "\n";
     } elseif ($mResult instanceof UnitTestException) {
         $aTrace = $mResult->getTrace();
         echo _WT('failure') . "\n" . sprintf(_WT("Message: %s\nLine: %s\n"), $mResult->getMessage(), array_value($aTrace[0], 'line', '?'));
         if ($mResult instanceof ComparisonTestException) {
             echo sprintf(_WT("Expected: %s\nActual: %s\n"), var_export($mResult->getExpected(), true), var_export($mResult->getActual(), true));
         }
     } elseif ($mResult instanceof ErrorException) {
         echo _WT('error') . "\n" . sprintf(_WT("Class: ErrorException\nMessage: %s\nLevel: %s\nFile: %s\nLine: %s\n"), $mResult->getMessage(), weeException::getLevelName($mResult->getSeverity()), $mResult->getFile(), $mResult->getLine());
     } else {
         echo _WT('error') . "\n" . sprintf(_WT("Class: %s\nMessage: %s\nFile: %s\nLine: %s\nTrace:\n%s\n"), get_class($mResult), $mResult->getMessage(), $mResult->getFile(), $mResult->getLine(), $mResult->getTraceAsString());
     }
     $this->mLastResult = $mResult;
 }