coverage.html.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. $summary = array(
  3. 'classes' => 0, 'executable' => 0, 'covered' => 0, 'uncovered' => 0, 'percentage' => 0
  4. );
  5. ?>
  6. <h3>Code Coverage</h3>
  7. <?php foreach ($data as $class => $coverage): ?>
  8. <?php
  9. $summary['classes']++;
  10. $summary['executable'] += count($coverage['executable']);
  11. $summary['covered'] += count($coverage['covered']);
  12. $summary['uncovered'] += count($coverage['uncovered']);
  13. $summary['percentage'] += $coverage['percentage'];
  14. ?>
  15. <h4 class="coverage">
  16. <?php echo $class ?>:
  17. <?php echo count($coverage['covered']) ?> of <?php echo count($coverage['executable']) ?>
  18. lines covered (<em><?php echo $coverage['percentage'] ?>%</em>)
  19. </h4>
  20. <?php foreach ($coverage['output'] as $file => $data): ?>
  21. <?php if (!empty($data)): ?>
  22. <div class="code-coverage-results">
  23. <?php foreach ($data as $line => $row): ?>
  24. <div class="code-line <?php echo $row['class'] ?>">
  25. <span class="line-num"><?php echo $line ?></span>
  26. <span class="content"><?php
  27. echo htmlspecialchars(str_replace("\t", " ", $row['data']))
  28. ?></span>
  29. </div><!-- code-line -->
  30. <?php endforeach ?>
  31. </div>
  32. <h4 class="code-coverage-name"><?php echo $file ?></h4>
  33. <!-- code-coverage-results -->
  34. <?php endif ?>
  35. <?php endforeach ?>
  36. <?php endforeach ?>
  37. <?php
  38. if (!$summary['classes'] || !$summary['executable']) {
  39. return;
  40. }
  41. ?>
  42. <br /><br />
  43. <h4>Summary</h4>
  44. <table class="metrics"><tbody>
  45. <tr>
  46. <td class="metric-name">Classes Covered</td>
  47. <td class="metric"><?php echo $summary['classes'] ?></td>
  48. </tr>
  49. <tr>
  50. <td class="metric-name">Executable Lines</td>
  51. <td class="metric"><?php echo $summary['executable'] ?></td>
  52. </tr>
  53. <tr>
  54. <td class="metric-name">Lines Covered</td>
  55. <td class="metric"><?php echo $summary['covered'] ?></td>
  56. </tr>
  57. <tr>
  58. <td class="metric-name">Lines Uncovered</td>
  59. <td class="metric"><?php echo $summary['uncovered'] ?></td>
  60. </tr>
  61. <tr>
  62. <td class="metric-name">Total Coverage</td>
  63. <td class="metric">
  64. <?php echo round(($summary['covered'] / $summary['executable']) * 100, 2) ?>%
  65. </td>
  66. </tr>
  67. <tr>
  68. <td class="metric-name">Average Per Class</td>
  69. <td class="metric">
  70. <?php echo round($summary['percentage'] / $summary['classes'], 2) ?>%
  71. </td>
  72. </tr>
  73. </tbody></table>