Example #1
0
 /**
  * @param  array                                                 $data
  * @param  array                                                 $linesToBeCovered
  * @param  array                                                 $linesToBeUsed
  * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode
  * @since Method available since Release 2.0.0
  */
 private function performUnintentionallyCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed)
 {
     $allowedLines = $this->parser->getAllowedLines($linesToBeCovered, $linesToBeUsed);
     $message = '';
     foreach ($data as $file => $_data) {
         foreach ($_data as $line => $flag) {
             if ($flag == 1 && (!isset($allowedLines[$file]) || !isset($allowedLines[$file][$line]))) {
                 $message .= sprintf('- %s:%d' . PHP_EOL, $file, $line);
             }
         }
     }
     if (!empty($message)) {
         throw new PHP_CodeCoverage_Exception_UnintentionallyCoveredCode($message);
     }
 }
Example #2
0
 /**
  * Performs blacklist and whitelist as well as @codeCoverageIgnore* filtering.
  *
  * @param array $data
  */
 private function filter(array &$data)
 {
     foreach (array_keys($data) as $filename) {
         if ($this->filter->isFiltered($filename)) {
             unset($data[$filename]);
             continue;
         }
         foreach ($this->parser->getLinesToBeIgnored($filename) as $line) {
             unset($data[$filename][$line]);
         }
         if (empty($data[$filename])) {
             unset($data[$filename]);
         }
     }
 }
Example #3
0
 /**
  * @param        string $filename
  * @param        array  $expectedResult
  * @dataProvider ignoredLinesProvider
  * @covers       PHP_CodeCoverage_Parser::getLinesToBeIgnored
  */
 public function testLinesToBeIgnoredAreParsedCorrectly($filename, array $expectedResult)
 {
     $this->assertEquals($expectedResult, $this->parser->getLinesToBeIgnored($filename));
 }