Вход Регистрация
Файл: gapps/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php
Строк: 94
<?php
/*
 * This file is part of the PHP_CodeCoverage package.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Renders a PHP_CodeCoverage_Report_Node_Directory node.
 *
 * @since Class available since Release 1.1.0
 */
class PHP_CodeCoverage_Report_HTML_Renderer_Directory extends PHP_CodeCoverage_Report_HTML_Renderer
{
    
/**
     * @param PHP_CodeCoverage_Report_Node_Directory $node
     * @param string                                 $file
     */
    
public function render(PHP_CodeCoverage_Report_Node_Directory $node$file)
    {
        
$template = new Text_Template($this->templatePath 'directory.html''{{''}}');

        
$this->setCommonTemplateVariables($template$node);

        
$items $this->renderItem($nodetrue);

        foreach (
$node->getDirectories() as $item) {
            
$items .= $this->renderItem($item);
        }

        foreach (
$node->getFiles() as $item) {
            
$items .= $this->renderItem($item);
        }

        
$template->setVar(
            array(
                
'id'    => $node->getId(),
                
'items' => $items
            
)
        );

        
$template->renderTo($file);
    }

    
/**
     * @param  PHP_CodeCoverage_Report_Node $item
     * @param  bool                         $total
     * @return string
     */
    
protected function renderItem(PHP_CodeCoverage_Report_Node $item$total false)
    {
        
$data = array(
            
'numClasses'                   => $item->getNumClassesAndTraits(),
            
'numTestedClasses'             => $item->getNumTestedClassesAndTraits(),
            
'numMethods'                   => $item->getNumMethods(),
            
'numTestedMethods'             => $item->getNumTestedMethods(),
            
'linesExecutedPercent'         => $item->getLineExecutedPercent(false),
            
'linesExecutedPercentAsString' => $item->getLineExecutedPercent(),
            
'numExecutedLines'             => $item->getNumExecutedLines(),
            
'numExecutableLines'           => $item->getNumExecutableLines(),
            
'testedMethodsPercent'         => $item->getTestedMethodsPercent(false),
            
'testedMethodsPercentAsString' => $item->getTestedMethodsPercent(),
            
'testedClassesPercent'         => $item->getTestedClassesAndTraitsPercent(false),
            
'testedClassesPercentAsString' => $item->getTestedClassesAndTraitsPercent()
        );

        if (
$total) {
            
$data['name'] = 'Total';
        } else {
            if (
$item instanceof PHP_CodeCoverage_Report_Node_Directory) {
                
$data['name'] = sprintf(
                    
'<a href="%s/index.html">%s</a>',
                    
$item->getName(),
                    
$item->getName()
                );

                
$data['icon'] = '<span class="glyphicon glyphicon-folder-open"></span> ';
            } else {
                
$data['name'] = sprintf(
                    
'<a href="%s.html">%s</a>',
                    
$item->getName(),
                    
$item->getName()
                );

                
$data['icon'] = '<span class="glyphicon glyphicon-file"></span> ';
            }
        }

        return 
$this->renderItemTemplate(
            new 
Text_Template($this->templatePath 'directory_item.html''{{''}}'),
            
$data
        
);
    }
}
Онлайн: 0
Реклама