Beispiel #1
0
        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";
         }
     }
 }