define('PRADO_BASE', '/home/xlab6/prado/framework/'); } } else { define('PRADO_BASE', 'f:/www/prado/framework/'); } error_reporting(E_ALL); restore_error_handler(); require_once $_ENV['SIMPLETEST'] . '/unit_tester.php'; require_once $_ENV['SIMPLETEST'] . '/reporter.php'; require_once dirname(__FILE__) . '/HtmlReporterWithCoverage.php'; define('FRAMEWORK_BASE', realpath(dirname(__FILE__) . '/../core/')); if (isset($_GET['file'])) { $filename = rawurldecode($_GET['file']); $file = realpath(FRAMEWORK_BASE . $filename); if (is_int(strpos($file, FRAMEWORK_BASE)) && is_file($file)) { $coverage = new HTMLCoverageReport($file, $filename, explode(',', $_GET['lines'])); $coverage->show(); } else { echo 'Access Denied!'; } die; } if ($doTest) { ob_start(); $test = new GroupTest('All tests'); $dir = dir(dirname(__FILE__)); while (false !== ($entry = $dir->read())) { if (is_file($entry) && strtolower(substr($entry, 0, 4)) == 'test') { if (strpos(strtolower($entry), 'mysql')) { if (extension_loaded('mysql')) { $test->addTestFile($entry);
function paintCoverage() { $dir = dirname(__FILE__); if (count($this->coverage) > 0) { print '<h2>Code Coverage</h2>'; } ksort($this->coverage); $details = array(); foreach ($this->coverage as $file => $coverage) { if (is_int(strpos($file, $dir)) == false && is_int(strpos($file, 'simpletest')) == false && is_int(strpos($file, $this->base_dir))) { $total = HTMLCoverageReport::codelines($file); $executed = count($coverage); $percentage = sprintf('%01d', $executed / $total * 100); $width = $percentage * 3; $filename = str_replace($this->base_dir, '', $file); $link = $this->constructURL($filename, $coverage); $detail['total'] = $total; $detail['executed'] = $executed; $detail['width'] = $width; $detail['filename'] = $filename; $detail['link'] = $link; $details[$percentage][] = $detail; } } krsort($details); foreach ($details as $percentage => $files) { foreach ($files as $detail) { $total = $detail['total']; $executed = $detail['executed']; $width = $detail['width']; $filename = $detail['filename']; $link = $detail['link']; print "<div class=\"coverage\">"; print "<span class=\"bar\">"; print "<span class=\"percentage\" style=\"width:{$width}px\">"; print "{$executed}/{$total}\n"; print "{$percentage}%</span></span>\n"; print "<a href=\"{$link}\">{$filename}</a>\n"; print "</div>\n"; } } }