public flattenCases ( ) : array | ||
return | array | $suites a collection of suites and their cases |
public function flattenCases()
{
$dict = array();
foreach ($this->getCases() as $case) {
if (!isset($dict[$case->file])) {
$dict[$case->file] = new TestSuite($case->class, 0, 0, 0, 0, 0);
}
$dict[$case->file]->cases[] = $case;
$dict[$case->file]->tests += 1;
$dict[$case->file]->assertions += $case->assertions;
$dict[$case->file]->failures += sizeof($case->failures);
$dict[$case->file]->errors += sizeof($case->errors);
$dict[$case->file]->time += $case->time;
$dict[$case->file]->file = $case->file;
}
return array_values($dict);
}
/** * Returns the xml structure the writer * will use * * @return string */ public function getXml() { $suites = $this->interpreter->flattenCases(); $root = $this->getSuiteRoot($suites); foreach ($suites as $suite) { $snode = $this->appendSuite($root, $suite); foreach ($suite->cases as $case) { $cnode = $this->appendCase($snode, $case); } } return $this->document->saveXML(); }