Fix bug 30974.

This commit is contained in:
zhaoke
2022-12-16 11:08:45 +00:00
parent b3948acd66
commit 00a86549b0
6 changed files with 60 additions and 4 deletions
+55 -4
View File
@@ -1448,12 +1448,10 @@ class testtaskModel extends model
if(!empty($result->ZTFResult))
{
$result->ZTFResult = json_decode($result->ZTFResult);
$result->ZTFResult = empty($result->ZTFResult->log) ? '' : $result->ZTFResult->log;
$result->ZTFResult = "<li>" . str_replace(array("\r", "\n", "\r\n"), "</li><li>", $result->ZTFResult) . "</li>";
$result->ZTFResult = $this->formatZtfLog($result->ZTFResult, $result->stepResults);
}
$result->files = zget($resultFiles, $resultID, array()); //Get files of case result.
$result->files = zget($resultFiles, $resultID, array()); //Get files of case result.
if(isset($relatedSteps[$result->version]))
{
$relatedStep = $relatedSteps[$result->version];
@@ -1477,6 +1475,59 @@ class testtaskModel extends model
return $results;
}
/**
* Format ztf log.
*
* @param string $log
* @access public
* @return string
*/
public function formatZtfLog($result, $stepResults)
{
$logObj = json_decode($result);
$logs = empty($logObj->log) ? '' : $logObj->log;
if(empty($logs)) return '';
$logs = str_replace(array("\r", "\n", "\r\n"), "\n", $logs);
$logList = explode("\n", $logs);
$logHtml = "";
foreach($logList as $log)
{
$log = preg_replace("/^[\d\-:.\x20]+/", '', $log);
$log = trim($log);
if(empty($log)) continue;
$log = preg_replace(array("/:\x20失败/", "/:\x20fail/", "/:\x20成功/", "/:\x20pass/"), array(': <strong class="result-testcase fail">失败</strong>',': <strong class="result-testcase fail">fail</strong>',': <strong class="result-testcase pass">成功</strong>',': <strong class="result-testcase fail">pass</strong>'), $log);
$logHtml .= "<li>" . $log . "</li>";
}
if(!empty($stepResults))
{
$total = count($stepResults);
$failCount = $passCount = 0;
foreach($stepResults as $step)
{
if($step['result'] == 'pass')
{
$passCount++;
}
elseif($step['result'] == 'fail')
{
$failCount++;
}
}
$caseResult = $passCount ? 'pass':'fail';
$logHtml .= "<li class='result-testcase {$caseResult}'>"
. sprintf($this->lang->testtask->stepSummary, $total, $passCount, $failCount)
. "</li>";
}
return $logHtml;
}
/**
* Judge an action is clickable or not.
*