Skip to content

Commit 730c0aa

Browse files
Work in progress.
1 parent 06cbc34 commit 730c0aa

File tree

1 file changed

+63
-8
lines changed
  • PHP/CodeCoverage/Report/HTML/Renderer

1 file changed

+63
-8
lines changed

PHP/CodeCoverage/Report/HTML/Renderer/File.php

Lines changed: 63 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -164,19 +164,20 @@ protected function renderItems(PHP_CodeCoverage_Report_Node_File $node)
164164
)
165165
);
166166

167-
$items .= $this->renderTraitOrClassItems($node->getTraits(), 'Traits');
168-
$items .= $this->renderTraitOrClassItems($node->getClasses(), 'Classes');
169-
$items .= $this->renderFunctionItems($node->getFunctions());
167+
$items .= $this->renderTraitOrClassItems($node->getTraits(), 'Traits', $template);
168+
$items .= $this->renderTraitOrClassItems($node->getClasses(), 'Classes', $template);
169+
$items .= $this->renderFunctionItems($node->getFunctions(), $template);
170170

171171
return $items;
172172
}
173173

174174
/**
175-
* @param array $items
176-
* @param string $title
175+
* @param array $items
176+
* @param string $title
177+
* @param Text_Template $template
177178
* @return string
178179
*/
179-
protected function renderTraitOrClassItems(array $items, $title)
180+
protected function renderTraitOrClassItems(array $items, $title, Text_Template $template)
180181
{
181182
if (empty($items)) {
182183
return '';
@@ -185,16 +186,70 @@ protected function renderTraitOrClassItems(array $items, $title)
185186
$buffer = '';
186187

187188
foreach ($items as $name => $item) {
189+
$methods = '';
190+
$numMethods = count($item['methods']);
191+
$numTestedMethods = 0;
192+
193+
foreach ($item['methods'] as $method) {
194+
if ($method['executedLines'] == $method['executableLines']) {
195+
$numTestedMethods++;
196+
}
197+
}
198+
199+
$buffer = $this->renderItemTemplate(
200+
$template,
201+
array(
202+
'itemClass' => 'coverDirectory',
203+
'name' => $name,
204+
'numClasses' => 1,
205+
'numTestedClasses' => $numTestedMethods == $numMethods ? 1 : 0,
206+
'numMethods' => $numMethods,
207+
'numTestedMethods' => $numTestedMethods,
208+
'linesExecutedPercent' => PHP_CodeCoverage_Util::percent(
209+
$item['executedLines'],
210+
$item['executableLines'],
211+
FALSE
212+
),
213+
'linesExecutedPercentAsString' => PHP_CodeCoverage_Util::percent(
214+
$item['executedLines'],
215+
$item['executableLines'],
216+
TRUE
217+
),
218+
'numExecutedLines' => $item['executedLines'],
219+
'numExecutableLines' => $item['executableLines'],
220+
'testedMethodsPercent' => PHP_CodeCoverage_Util::percent(
221+
$numTestedMethods,
222+
$numMethods,
223+
FALSE
224+
),
225+
'testedMethodsPercentAsString' => PHP_CodeCoverage_Util::percent(
226+
$numTestedMethods,
227+
$numMethods,
228+
TRUE
229+
),
230+
'testedClassesPercent' => PHP_CodeCoverage_Util::percent(
231+
$numTestedMethods == $numMethods ? 1 : 0,
232+
1,
233+
FALSE
234+
),
235+
'testedClassesPercentAsString' => PHP_CodeCoverage_Util::percent(
236+
$numTestedMethods == $numMethods ? 1 : 0,
237+
1,
238+
TRUE
239+
)
240+
)
241+
);
188242
}
189243

190244
return $buffer;
191245
}
192246

193247
/**
194-
* @param array $items
248+
* @param array $items
249+
* @param Text_Template $template
195250
* @return string
196251
*/
197-
protected function renderFunctionItems(array $items)
252+
protected function renderFunctionItems(array $items, Text_Template $template)
198253
{
199254
if (empty($items)) {
200255
return '';

0 commit comments

Comments
 (0)