SebastianBergmann\CodeCoverage\Report\Html\File::renderTraitOrClassItems PHP Method

renderTraitOrClassItems() protected method

protected renderTraitOrClassItems ( array $items, Text_Template $template, Text_Template $methodItemTemplate ) : string
$items array
$template Text_Template
$methodItemTemplate Text_Template
return string
    protected function renderTraitOrClassItems(array $items, \Text_Template $template, \Text_Template $methodItemTemplate)
    {
        if (empty($items)) {
            return '';
        }
        $buffer = '';
        foreach ($items as $name => $item) {
            $numMethods = count($item['methods']);
            $numTestedMethods = 0;
            foreach ($item['methods'] as $method) {
                if ($method['executedLines'] == $method['executableLines']) {
                    $numTestedMethods++;
                }
            }
            if ($item['executableLines'] > 0) {
                $numClasses = 1;
                $numTestedClasses = $numTestedMethods == $numMethods ? 1 : 0;
                $linesExecutedPercentAsString = Util::percent($item['executedLines'], $item['executableLines'], false);
            } else {
                $numClasses = 'n/a';
                $numTestedClasses = 'n/a';
                $linesExecutedPercentAsString = 'n/a';
            }
            $buffer .= $this->renderItemTemplate($template, ['name' => $name, 'numClasses' => $numClasses, 'numTestedClasses' => $numTestedClasses, 'numMethods' => $numMethods, 'numTestedMethods' => $numTestedMethods, 'linesExecutedPercent' => Util::percent($item['executedLines'], $item['executableLines'], false), 'linesExecutedPercentAsString' => $linesExecutedPercentAsString, 'numExecutedLines' => $item['executedLines'], 'numExecutableLines' => $item['executableLines'], 'testedMethodsPercent' => Util::percent($numTestedMethods, $numMethods, false), 'testedMethodsPercentAsString' => Util::percent($numTestedMethods, $numMethods, true), 'testedClassesPercent' => Util::percent($numTestedMethods == $numMethods ? 1 : 0, 1, false), 'testedClassesPercentAsString' => Util::percent($numTestedMethods == $numMethods ? 1 : 0, 1, true), 'crap' => $item['crap']]);
            foreach ($item['methods'] as $method) {
                $buffer .= $this->renderFunctionOrMethodItem($methodItemTemplate, $method, ' ');
            }
        }
        return $buffer;
    }