protected function collectCoverage(\SimpleXMLElement $file, $path, $filename) { if ($this->jsonFile->hasSourceFile($path)) { $srcFile = $this->jsonFile->getSourceFile($path); } else { $srcFile = new SourceFile($path, $filename); } foreach ($file->line as $line) { if ((string) $line['type'] === 'stmt') { $lineNum = (int) $line['num']; if ($lineNum > 0) { $srcFile->addCoverage($lineNum - 1, (int) $line['count']); } } } return $srcFile; }
protected function assertSourceFile(SourceFile $sourceFile, $name, $path, $fileLines, array $coverage, $source) { $this->assertSame($name, $sourceFile->getName()); $this->assertSame($path, $sourceFile->getPath()); $this->assertSame($fileLines, $sourceFile->getFileLines()); $this->assertSame($coverage, $sourceFile->getCoverage()); $this->assertSame($source, $sourceFile->getSource()); }
/** * Add source file. * * @param SourceFile $sourceFile * * @return void */ public function addSourceFile(SourceFile $sourceFile) { $this->sourceFiles[$sourceFile->getPath()] = $sourceFile; }
protected function calculateBlobId(SourceFile $sourceFile) { $content = file_get_contents($sourceFile->getPath()); $header = "blob " . strlen($content) . ""; return sha1($header . $content); }