Exemplo n.º 1
0
 /**
  * @param  PHPUnit_Util_Metrics_Function $metrics
  * @param  DOMElement                    $element
  */
 protected function processFunctionOrMethod($metrics, DOMElement $element)
 {
     $element->setAttribute('name', $metrics->getFunction()->getName());
     $element->setAttribute('loc', $metrics->getLoc());
     $element->setAttribute('locExecutable', $metrics->getLocExecutable());
     $element->setAttribute('locExecuted', $metrics->getLocExecuted());
     $element->setAttribute('coverage', sprintf('%F', $metrics->getCoverage()));
     $element->setAttribute('ccn', $metrics->getCCN());
     $element->setAttribute('crap', sprintf('%F', $metrics->getCrapIndex()));
     $element->setAttribute('npath', $metrics->getNPath());
     $element->setAttribute('parameters', $metrics->getParameters());
 }
Exemplo n.º 2
0
 /**
  * Constructor.
  *
  * @param  string $filename
  * @param  array  $codeCoverage
  * @throws RuntimeException
  */
 protected function __construct($filename, &$codeCoverage = array())
 {
     if (!file_exists($filename)) {
         throw new RuntimeException(sprintf('File "%s" not found.', $filename));
     }
     $this->filename = $filename;
     $this->lines = file($filename);
     $this->tokens = token_get_all(file_get_contents($filename));
     $this->countLines();
     $this->setCoverage($codeCoverage);
     foreach (PHPUnit_Util_Class::getClassesInFile($filename) as $class) {
         $this->classes[$class->getName()] = PHPUnit_Util_Metrics_Class::factory($class, $codeCoverage);
     }
     foreach (PHPUnit_Util_Class::getFunctionsInFile($filename) as $function) {
         $this->functions[$function->getName()] = PHPUnit_Util_Metrics_Function::factory($function, $codeCoverage);
     }
 }
Exemplo n.º 3
0
 /**
  * Constructor.
  *
  * @param  ReflectionClass $class
  * @param  array           $codeCoverage
  */
 protected function __construct(ReflectionClass $class, &$codeCoverage = array())
 {
     $this->class = $class;
     $className = $class->getName();
     $packageInformation = PHPUnit_Util_Class::getPackageInformation($className);
     if (!empty($packageInformation['fullPackage'])) {
         $this->package = $packageInformation['fullPackage'];
     }
     $this->setCoverage($codeCoverage);
     $this->dit = count(PHPUnit_Util_Class::getHierarchy($class->getName())) - 1;
     $this->impl = count($class->getInterfaces());
     foreach ($this->class->getMethods() as $method) {
         if ($method->getDeclaringClass()->getName() == $className) {
             $this->methods[$method->getName()] = PHPUnit_Util_Metrics_Function::factory($method, $codeCoverage);
         } else {
             $this->inheritedMethods[$method->getName()] = PHPUnit_Util_Metrics_Function::factory($method, $codeCoverage);
         }
     }
     $this->calculateAttributeMetrics();
     $this->calculateMethodMetrics();
     $this->calculateNumberOfChildren();
     $this->calculatePolymorphismFactor();
     $this->calculateDependencies();
 }
Exemplo n.º 4
0
 /**
  * Constructor.
  *
  * @param  string $filename
  * @param  array  $codeCoverage
  * @throws RuntimeException
  */
 protected function __construct($filename, &$codeCoverage = array())
 {
     if (!file_exists($filename)) {
         throw new RuntimeException(sprintf('File "%s" not found.', $filename));
     }
     $this->filename = $filename;
     foreach (PHPUnit_Util_File::countLines($this->filename) as $name => $value) {
         $this->{$name} = $value;
     }
     $this->setCoverage($codeCoverage);
     foreach (PHPUnit_Util_File::getClassesInFile($filename) as $className => $class) {
         $this->classes[$className] = PHPUnit_Util_Metrics_Class::factory(new ReflectionClass($className), $codeCoverage);
     }
     foreach (PHPUnit_Util_File::getFunctionsInFile($filename) as $functionName => $function) {
         $this->functions[$functionName] = PHPUnit_Util_Metrics_Function::factory(new ReflectionFunction($functionName), $codeCoverage);
     }
 }