* Code for showimport view.
This commit is contained in:
@@ -2497,4 +2497,97 @@ class testcaseModel extends model
|
||||
|
||||
return $menu;
|
||||
}
|
||||
|
||||
/**
|
||||
* processDatas
|
||||
*
|
||||
* @param int $datas
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function processDatas($datas)
|
||||
{
|
||||
if(isset($datas->datas)) $datas = $datas->datas;
|
||||
$columnKey = array();
|
||||
$caseData = array();
|
||||
$stepData = array();
|
||||
$stepVars = 0;
|
||||
|
||||
foreach($datas as $row => $cellValue)
|
||||
{
|
||||
foreach($cellValue as $field => $value)
|
||||
{
|
||||
if($field != 'stepDesc' and $field != 'stepExpect') continue;
|
||||
if($field == 'stepDesc' or $field == 'stepExpect')
|
||||
{
|
||||
$steps = $value;
|
||||
if(strpos($value, "\n"))
|
||||
{
|
||||
$steps = explode("\n", $value);
|
||||
}
|
||||
elseif(strpos($value, "\r"))
|
||||
{
|
||||
$steps = explode("\r", $value);
|
||||
}
|
||||
if(is_string($steps)) $steps = explode("\n", $steps);
|
||||
|
||||
$stepKey = str_replace('step', '', strtolower($field));
|
||||
|
||||
$caseStep = array();
|
||||
foreach($steps as $step)
|
||||
{
|
||||
$trimedStep = trim($step);
|
||||
if(empty($trimedStep)) continue;
|
||||
if(preg_match('/^(([0-9]+)\.[0-9]+)([.、]{1})/U', $step, $out) and ($field == 'stepDesc' or ($field == 'stepExpect' and isset($stepData[$row]['desc'][$out[1]]))))
|
||||
{
|
||||
$num = $out[1];
|
||||
$parent = $out[2];
|
||||
$sign = $out[3];
|
||||
$signbit = $sign == '.' ? 1 : 3;
|
||||
$step = trim(substr($step, strlen($num) + $signbit));
|
||||
if(!empty($step)) $caseStep[$num]['content'] = $step;
|
||||
$caseStep[$num]['type'] = 'item';
|
||||
$caseStep[$parent]['type'] = 'group';
|
||||
}
|
||||
elseif(preg_match('/^([0-9]+)([.、]{1})/U', $step, $out) and ($field == 'stepDesc' or ($field == 'stepExpect' and isset($stepData[$row]['desc'][$out[1]]))))
|
||||
{
|
||||
$num = $out[1];
|
||||
$sign = $out[2];
|
||||
$signbit = $sign == '.' ? 1 : 3;
|
||||
$step = trim(substr($step, strpos($step, $sign) + $signbit));
|
||||
if(!empty($step)) $caseStep[$num]['content'] = $step;
|
||||
$caseStep[$num]['type'] = 'step';
|
||||
}
|
||||
elseif(isset($num))
|
||||
{
|
||||
if(!isset($caseStep[$num]['content'])) $caseStep[$num]['content'] = '';
|
||||
if(!isset($caseStep[$num]['type'])) $caseStep[$num]['type'] = 'step';
|
||||
$caseStep[$num]['content'] .= "\n" . $step;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($field == 'stepDesc')
|
||||
{
|
||||
$num = 1;
|
||||
$caseStep[$num]['content'] = $step;
|
||||
$caseStep[$num]['type'] = 'step';
|
||||
}
|
||||
if($field == 'stepExpect' and isset($stepData[$row]['desc']))
|
||||
{
|
||||
end($stepData[$row]['desc']);
|
||||
$num = key($stepData[$row]['desc']); $caseStep[$num]['content'] = $step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unset($num);
|
||||
unset($sign);
|
||||
$stepVars += count($caseStep, COUNT_RECURSIVE) - count($caseStep);
|
||||
$stepData[$row][$stepKey] = $caseStep;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return $stepData;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user