/** * @param string $dirPath Directory path * @return string[] */ public function generateReportForDirectory($dirPath) { $dir = new \RecursiveDirectoryIterator(realpath($dirPath)); $iterator = new \RecursiveIteratorIterator($dir); $phpFiles = new \RegexIterator($iterator, '/^.+\\.(php|phtml)$/i', \RecursiveRegexIterator::GET_MATCH); $files = $this->src->getData(); $unusedFiles = array(); foreach ($phpFiles as $phpFile) { if (!$files->isFileUsed($phpFile[0])) { $unusedFiles[] = $phpFile[0]; } } return $unusedFiles; }
public function save() { $data = xdebug_get_code_coverage(); $files = $this->src->getData(); foreach ($data as $fileName => $lines) { if (!$this->isFileInDir($fileName)) { continue; } $file = $files->find($fileName); foreach ($lines as $lineNo => $isUsed) { $file->addUsedLine($lineNo - 1); } } $this->src->saveData($files); }