writer = new SimpleCoverageWriter(); $this->calculator = new CoverageCalculator(); } function generateSummaryReport($out) { $variables = $this->calculator->variables($this->coverage, $this->untouched); $variables['title'] = $this->title; $report = $this->writer->writeSummary($out, $variables); fwrite($out, $report); } function generate() { CoverageUtils::mkdir($this->reportDir); $index = $this->reportDir .'/index.html'; $hnd = fopen($index, 'w'); $this->generateSummaryReport($hnd); fclose($hnd); foreach ($this->coverage as $file => $cov) { $byFile = $this->reportDir .'/'. self::reportFilename($file); $byFileHnd = fopen($byFile, 'w'); $this->generateCoverageByFile($byFileHnd, $file, $cov); fclose($byFileHnd); } echo "generated report $index\n"; } function generateCoverageByFile($out, $file, $cov) { $variables = $this->calculator->coverageByFileVariables($file, $cov); $variables['title'] = $this->title .' - '. $file; $this->writer->writeByFile($out, $variables); } static function reportFilename($filename) { return preg_replace('|[/\\\\]|', '_', $filename) . '.html'; } } ?>