Merge pull request #66 from cytopia/DVL-013

DVL-013 Remove git submodule dependencies in phpMyAdmin
This commit is contained in:
cytopia 2017-05-26 14:22:08 +02:00 committed by GitHub
commit 2d24f80cb0
47 changed files with 4272 additions and 2 deletions

@ -1 +0,0 @@
Subproject commit c0b3a02883bd80f0955c2478193304ddbef23e56

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,158 @@
[![Codacy Badge](https://api.codacy.com/project/badge/grade/d992a862b1994805907ec277e16b0fda)](https://www.codacy.com/app/Codacy/php-codacy-coverage)
[![Codacy Badge](https://api.codacy.com/project/badge/coverage/d992a862b1994805907ec277e16b0fda)](https://www.codacy.com/app/Codacy/php-codacy-coverage)
[![Circle CI](https://circleci.com/gh/codacy/php-codacy-coverage.svg?style=shield&circle-token=:circle-token)](https://circleci.com/gh/codacy/php-codacy-coverage)
[![Latest Stable Version](https://poser.pugx.org/codacy/coverage/version)](https://packagist.org/packages/codacy/coverage)
# Codacy PHP Coverage Reporter
[Codacy](https://codacy.com/) coverage support for PHP. Get coverage reporting and code analysis for PHP from Codacy.
# Prerequisites
- PHP 5.3 or later
- One of the following coverage report formats
- Clover XML (e.g. ```--coverage-clover``` in PHPUnit)
- PHPUnit XML (e.g. ```--coverage-xml``` in PHPUnit)
# Installation
Setup codacy-coverage with Composer, just add the following to your composer.json:
```js
// composer.json
{
"require-dev": {
"codacy/coverage": "dev-master"
}
}
```
Download the dependencies by running Composer in the directory of your `composer.json`:
```sh
# install
$ php composer.phar install --dev
# update
$ php composer.phar update codacy/coverage --dev
```
codacy-coverage library is available on [Packagist](https://packagist.org/packages/codacy/coverage).
Add the autoloader to your php script:
```php
require_once 'vendor/autoload.php';
```
> Note:
We have php5-curl dependency, if you have issues related to curl_init() please install it with:
```
sudo apt-get install php5-curl
```
## Updating Codacy
To update Codacy, you will need your project API token. You can find the token in Project -> Settings -> Integrations -> Project API.
Then set it in your terminal, replacing %Project_Token% with your own token:
```
export CODACY_PROJECT_TOKEN=%Project_Token%
```
> Note: You should keep your API token well **protected**, as it grants owner permissions to your projects.
> To send coverage in the enterprise version you should:
```
export CODACY_API_BASE_URL=<Codacy_instance_URL>:16006
```
# Usage
Run ```vendor/bin/codacycoverage``` to see a list of commands.
#### Basic usage for Clover format:
```vendor/bin/codacycoverage clover```
#### Basic usage for PHPUnit XML format:
```php vendor/bin/codacycoverage phpunit```
By default we assume that
- your Clover coverage report is saved in ```build/logs/clover.xml```
- your PHPUnit XML report is saved in the directory ```build/coverage-xml```
#### Optional parameters:
You can specify the path to your report with the second parameter:
- Clover XML
- ```php vendor/bin/codacycoverage clover path/to/a-clover.xml```
- PHPUnit XML
- ```php vendor/bin/codacycoverage phpunit directory/path/to/phpunitreport```
Even more control:
- ```--base-url=<OTHER_URL>``` defaults to http://codacy.com
- ```--git-commit=<COMMIT_HASH>``` defaults to the last commit hash
## Circle CI
This project sends its own coverage during the build in circleCI.
Feel free to check our `circle.yml`, and send your coverage as a step of your build process.
## Travis CI
Add codacycoverage to your `.travis.yml`:
```yml
# .travis.yml
language: php
php:
- 5.3
- 5.4
- 5.5
- 5.6
- hhvm
before_script:
- curl -s http://getcomposer.org/installer | php
- php composer.phar install -n
script:
- php vendor/bin/phpunit
after_script:
- php vendor/bin/codacycoverage clover path/to/clover.xml
```
## Troubleshooting
If you have a fatal error regarding curl_init():
```
PHP Fatal error: Uncaught Error: Call to undefined function Codacy\Coverage\Util\curl_init() in /src/Codacy/Coverage/Util/CodacyApiClient.php:30
```
Run: ```sudo apt-get install php5-curl```
## What is Codacy?
[Codacy](https://www.codacy.com/) is an Automated Code Review Tool that monitors your technical debt, helps you improve your code quality, teaches best practices to your developers, and helps you save time in Code Reviews.
### Among Codacys features:
- Identify new Static Analysis issues
- Commit and Pull Request Analysis with GitHub, BitBucket/Stash, GitLab (and also direct git repositories)
- Auto-comments on Commits and Pull Requests
- Integrations with Slack, HipChat, Jira, YouTrack
- Track issues in Code Style, Security, Error Proneness, Performance, Unused Code and other categories
Codacy also helps keep track of Code Coverage, Code Duplication, and Code Complexity.
Codacy supports PHP, Python, Ruby, Java, JavaScript, and Scala, among others.
### Free for Open Source
Codacy is free for Open Source projects.
## License
[MIT](LICENSE)

View File

@ -0,0 +1,29 @@
#!/usr/bin/env php
<?php
$files = array(
dirname(__DIR__) . "/vendor/autoload.php",
__DIR__ . "/../../vendor/autoload.php",
__DIR__ . "/../../../autoload.php",
"vendor/autoload.php"
);
$found = false;
foreach ($files as $file) {
if (file_exists($file)) {
require_once $file;
$found = true;
break;
}
}
if (!$found) {
die(
"You need to set up the project dependencies using the following commands:" . PHP_EOL .
"curl -s http://getcomposer.org/installer | php" . PHP_EOL .
"php composer.phar install" . PHP_EOL
);
}
$app = new Codacy\Coverage\Application();
$app->run();

View File

@ -0,0 +1,13 @@
machine:
php:
version: 5.6.17
dependencies:
pre:
- curl -s http://getcomposer.org/installer | php
- php composer.phar install -n
test:
post:
- php vendor/bin/phpunit
- php bin/codacycoverage clover

View File

@ -0,0 +1,27 @@
{
"name": "codacy/coverage",
"description": "Sends PHP test coverage information to Codacy.",
"homepage": "https://github.com/codacy/php-codacy-coverage",
"type": "library",
"require": {
"php": ">=5.3.3",
"gitonomy/gitlib": "~0.1",
"symfony/console": "~2.5|~3.0"
},
"require-dev": {
"phpunit/phpunit": "~4.5"
},
"bin": ["bin/codacycoverage"],
"autoload": {
"classmap": [
"src/"
]
},
"license": "MIT",
"authors": [
{
"name": "Jakob Pupke",
"email": "jakob.pupke@gmail.com"
}
]
}

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
colors="true"
verbose="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="Codacy PHP Coverage">
<directory>tests</directory>
</testsuite>
</testsuites>
<logging>
<log type="coverage-html" target="build/coverage-html"/>
<log type="coverage-xml" target="build/coverage-xml"/>
<log type="coverage-clover" target="build/logs/clover.xml"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
<log type="tap" target="build/report.tap"/>
<log type="coverage-text" target="build/coverage.txt"/>
</logging>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
<exclude>
<file>src/Codacy/Coverage/Util/CodacyApiClient.php</file>
<file>src/Codacy/Coverage/CodacyPhpCoverage.php</file>
</exclude>
</whitelist>
</filter>
</phpunit>

View File

@ -0,0 +1,23 @@
<?php
namespace Codacy\Coverage;
use Symfony\Component\Console\Application as ConsoleApplication;
use Codacy\Coverage\Command\Clover as CloverCommand;
use Codacy\Coverage\Command\Phpunit as PhpunitCommand;
/**
* Class Application
*
*/
class Application extends ConsoleApplication
{
public function __construct()
{
parent::__construct("Codacy Coverage API Client");
$this->add(new CloverCommand());
$this->add(new PhpunitCommand());
}
}

View File

@ -0,0 +1,151 @@
<?php
namespace Codacy\Coverage\Command;
use Symfony\Component\Console\Command\Command as ConsoleCommand;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Codacy\Coverage\Parser\CloverParser;
use Codacy\Coverage\Util\JsonProducer;
use Codacy\Coverage\Util\GitClient;
use Codacy\Coverage\Util\CodacyApiClient;
/**
* Class Clover
*
*/
class Clover extends ConsoleCommand
{
protected function configure()
{
$this
->setName("clover")
->setDescription("Send coverage results in clover format")
->addArgument(
"path_to_coverage_results",
InputArgument::OPTIONAL,
"Path where coverage results are saved: XML file for clover format, directory containing the index.xml for phpunit format"
)
->addOption(
"git-commit",
null,
InputOption::VALUE_REQUIRED,
"Commit hash of results to be send"
)
->addOption(
"base-url",
null,
InputOption::VALUE_REQUIRED,
"Codacy base url"
);
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$projectToken = $this->getProjectToken();
$parser = $this->getParser($input->getArgument("path_to_coverage_results"));
$jsonProducer = new JsonProducer();
$jsonProducer->setParser($parser);
$commit = $this->getCommitHash($input->getOption("git-commit"));
$baseUrl = $this->getBaseCodacyUrl($input->getOption("base-url"));
$data = $jsonProducer->makeJson();
if ($output->isVerbose()) {
$output->writeln("Sending coverage results to " . $baseUrl);
$output->writeln("Generated JSON:");
$output->writeln($data);
}
$client = new CodacyApiClient($baseUrl, $projectToken);
$result = $client->sendCoverage($commit, $data);
if ($output->isVerbose()) {
$output->writeln($result);
}
}
/**
* Get parser of current format type.
*
* @param string $path Path to clover.xml
*
* @return CloverParser
*/
protected function getParser($path = null)
{
$path = is_null($path) ?
join(DIRECTORY_SEPARATOR, array('build', 'logs', 'clover.xml')) :
$path;
return new CloverParser($path);
}
/**
* Return Codacy Project Token.
*
* @return string Project token
*
* @throws \InvalidArgumentException If Token not specified
*/
protected function getProjectToken()
{
$projectToken = getenv("CODACY_PROJECT_TOKEN");
if ($projectToken == false) {
throw new \InvalidArgumentException(
"Cannot continue with execution as long as your project token is not set as an environmental variable."
. PHP_EOL . "Please type: export CODACY_PROJECT_TOKEN=<YOUR TOKEN>"
);
}
return urlencode($projectToken);
}
/**
* Get Git commit hash of project
*
* @param string $hash Specified hash
*
* @return string Git commit hash
*
* @throws \InvalidArgumentException When bad hash specified, or can't get commit hash
*/
protected function getCommitHash($hash = null)
{
if (!$hash) {
$gClient = new GitClient(getcwd());
return $gClient->getHashOfLatestCommit();
}
if (strlen($hash) != 40) {
throw new \InvalidArgumentException(
sprintf("Invalid git commit hash %s specified", $hash)
);
}
return urlencode($hash);
}
/**
* Return base Codacy Project URL
*
* @param string $url HTTP URL for codacy
*
* @return string Base Codacy Project URL
*/
protected function getBaseCodacyUrl($url = null)
{
if ($url) {
return $url;
}
$url = getenv("CODACY_API_BASE_URL");
return $url ? $url : "https://api.codacy.com";
}
}

View File

@ -0,0 +1,33 @@
<?php
namespace Codacy\Coverage\Command;
use Codacy\Coverage\Parser\PhpUnitXmlParser;
/**
* Class Phpunit
*
*/
class Phpunit extends Clover {
protected function configure()
{
parent::configure();
$this
->setName("phpunit")
->setDescription("Send coverage results in phpunit format");
}
protected function getParser($path = null)
{
$path = is_null($path) ?
"build" . DIRECTORY_SEPARATOR . "coverage-xml" :
$path;
$parser = new PhpUnitXmlParser($path . DIRECTORY_SEPARATOR . "index.xml");
$parser->setDirOfFileXmls($path);
return $parser;
}
}

View File

@ -0,0 +1,146 @@
<?php
namespace Codacy\Coverage\Parser;
use Codacy\Coverage\Report\CoverageReport;
use Codacy\Coverage\Report\FileReport;
/**
* Parses Clover XML file and produces a CoverageReport object.
* Inherits constructor from abstract class Parser and implements
* the IParser interface.
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
class CloverParser extends XMLParser implements IParser
{
/**
* Extracts basic information about coverage report and delegates
* more detailed extraction work to _makeFileReports() method.
* @return CoverageReport $report The CoverageReport object
*/
public function makeReport()
{
$project = $this->element->project;
$projectMetrics = $project->metrics;
$coveredStatements = intval($projectMetrics['coveredstatements']);
$statementsTotal = intval($projectMetrics['statements']);
$reportTotal = round($this->safeDivision($coveredStatements, $statementsTotal) * 100);
$fileReports = $this->makeFileReports($project);
$report = new CoverageReport($reportTotal, $fileReports);
return $report;
}
/**
* Takes the root \SimpleXMLElement object of the parsed file
* and decides on how to iterate it to extract information of all
* <file...>..</file> nodes.
* @param \SimpleXMLElement $node the root XML node.
* @return array holding FileReport objects
*/
private function makeFileReports(\SimpleXMLElement $node)
{
$fileReports = array();
/*
* Most clover reports will have project/package/file/line xPath.
* But there could be files that are not part of any package, i.e files that
* that do not declare namespace.
*/
if ($node->file->count() > 0) {
// so there is a file without package
$fileReports = $this->makeFileReportsFromFiles($node->file, $fileReports);
}
if ($node->package->count() > 0) {
$fileReports = $this->makeFileReportsFromPackages($node->package, $fileReports);
}
return $fileReports;
}
/**
* Iterates all over all <file...>..</file> nodes.
* @param \SimpleXMLElement $node The XML node holding the file nodes.
* @param array $fileReports array of FileReport objects
* @return array holding FileReport objects
*/
private function makeFileReportsFromFiles(\SimpleXMLElement $node, $fileReports)
{
foreach ($node as $file) {
// iterate files in the package
$countStatement = intval($file->metrics['statements']);
$countCoveredStatements = intval($file->metrics['coveredstatements']);
if ($countStatement == 0) {
$fileTotal = 0;
} else {
$fileTotal = round($this->safeDivision($countCoveredStatements, $countStatement) * 100);
}
$fileName = $this->getRelativePath($file['name']);
$lineCoverage = $this->getLineCoverage($file);
$fileReport = new FileReport($fileTotal, $fileName, $lineCoverage);
array_push($fileReports, $fileReport);
}
return $fileReports;
}
/**
* Iterates over all <package..>...</package> nodes and calls _makeFileReportsFromFiles on them
* @param \SimpleXMLElement $node The XML node holding all <package..>...</package> nodes
* @param array $fileReports array of FileReport objects
* @return array holding FileReport objects
*/
private function makeFileReportsFromPackages(\SimpleXMLElement $node, $fileReports)
{
// iterate all packages
foreach ($node as $package) {
$fileReports = $this->makeFileReportsFromFiles($package->file, $fileReports);
}
return $fileReports;
}
/**
* Iterates all <line></line> nodes and produces an array holding line coverage information.
* Only adds lines of type "stmt" and with count greater than 0.
* @param \SimpleXMLElement $node The XML node holding the <line></line> nodes
* @return array: (lineNumber -> hits)
*/
private function getLineCoverage(\SimpleXMLElement $node)
{
$lineCoverage = (object)array();
foreach ($node as $line) {
$count = intval($line['count']);
// iterate all lines in that file
if ($line['type'] == 'stmt' && $count > 0) {
$lineNr = (string)$line['num'];
$hit = $count;
$lineCoverage->$lineNr = $hit;
}
}
return $lineCoverage;
}
/**
* Cuts the file name so we have relative path to projectRoot.
* In a clover file file names are saved from / on.
* We are only interested in relative filename
* @param \SimpleXMLElement $fileName The filename attribute
* @return string The relative path of that file
*/
private function getRelativePath(\SimpleXMLElement $fileName)
{
$prefix = $this->rootDir . DIRECTORY_SEPARATOR;
$str = (string)$fileName;
if (substr($str, 0, strlen($prefix)) == $prefix) {
$str = substr($str, strlen($prefix));
}
return $str;
}
private function safeDivision($a, $b)
{
if ($b === 0) {
return 0;
}
return $a / $b;
}
}

View File

@ -0,0 +1,57 @@
<?php
namespace Codacy\Coverage\Parser;
/**
* Interface IParser
* All parsers need to implement this interface. This allows the JsonProducer
* to be composed of different parsers via JsonProducer::setParser($parser).
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
interface IParser
{
public function makeReport();
}
/**
* Class XMLParser
* The superclass of all parsers that parse XML files.
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
abstract class XMLParser
{
/**
* @var \SimpleXMLElement
*/
protected $element;
/**
* @var null|string The root directory. Can be other than current working directory
* in order to make tests pass against the static reports in tests/res directory.
*/
protected $rootDir;
/**
* Construct PhpUnitXmlParser and set the XML object as member field.
* All XML parser classes inherit this constructor.
* @param string $rootDir Is only for making tests pass.
* @param string $path Path to XML file
*/
public function __construct($path, $rootDir = null)
{
if (file_exists($path)) {
if ($rootDir == null) {
$this->rootDir = getcwd();
} else {
$this->rootDir = $rootDir;
}
$this->element = simplexml_load_file($path);
} else {
throw new \InvalidArgumentException(
"Unable to load the xml file. Make sure path is properly set. " .
"Using: \"$path\"", E_USER_ERROR
);
}
}
}

View File

@ -0,0 +1,124 @@
<?php
namespace Codacy\Coverage\Parser;
use Codacy\Coverage\Report\CoverageReport;
use Codacy\Coverage\Report\FileReport;
/**
* Parses XML file, result of phpunit --coverage-xml, and produces
* a CoverageReport object. The challenging problem here is that
* the report is scattered over different files. Basic information
* can be parsed from the index.xml file. But the relevant information
* for each file is stored in individual files.
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
class PhpUnitXmlParser extends XMLParser implements IParser
{
protected $dirOfFileXmls;
/**
* Extracts basic information about coverage report
* from the root xml file (index.xml).
* For line coverage information about the files it has
* to parse each individual file. This is handled by
* _getLineCoverage() private method.
* @return CoverageReport $report The CoverageReport object
*/
/**
* @param $dir string The path to where the single file xmls reside
*/
public function setDirOfFileXmls($dir)
{
$this->dirOfFileXmls = $dir;
}
/**
* @return string The path to where the single file xmls reside
*/
public function getDirOfFileXmls()
{
return $this->dirOfFileXmls;
}
public function makeReport()
{
//we can get the report total from the first directory summary.
$reportTotal = $this->getTotalFromPercent($this->element->project->directory->totals->lines["percent"]);
$fileReports = array();
foreach ($this->element->project->directory->file as $file) {
$fileName = $this->getRelativePath($file["href"]);
$fileTotal = $this->getTotalFromPercent($file->totals->lines["percent"]);
$xmlFileHref = (string)$file["href"];
$base = $this->getDirOfFileXmls();
// get the corresponding xml file to get lineCoverage information.
if (file_exists($base . DIRECTORY_SEPARATOR . $xmlFileHref)) {
$fileXml = simplexml_load_file($base . DIRECTORY_SEPARATOR . $xmlFileHref);
} else {
throw new \InvalidArgumentException(
"Error: Cannot read XML file. Using: " . $base . DIRECTORY_SEPARATOR . $xmlFileHref . "\n\r"
);
}
$lineCoverage = $this->getLineCoverage($fileXml);
$fileReport = new FileReport($fileTotal, $fileName, $lineCoverage);
array_push($fileReports, $fileReport);
}
$report = new CoverageReport($reportTotal, $fileReports);
return $report;
}
/**
* Iterates all <line></line> nodes and produces an array holding line coverage information.
* @param \SimpleXMLElement $node The XML node holding the <line></line> nodes
* @return array: (lineNumber -> hits)
*/
private function getLineCoverage(\SimpleXMLElement $node)
{
$lineCoverage = (object)array();
if ($node->file->coverage) {
foreach ($node->file->coverage->line as $line) {
$count = $line->covered->count();
if ($count > 0) {
$nr = (string)$line["nr"];
$lineCoverage->$nr = $count;
}
}
}
// else there is no line coverage, return empty array then.
return $lineCoverage;
}
/**
* Gets Integer from percent. Example: 95.00% -> 95
* @param \SimpleXMLElement $percent The percent attribute of the node
* @return integer The according integer value
*/
private function getTotalFromPercent(\SimpleXMLElement $percent)
{
$percent = (string)$percent;
$percent = substr($percent, 0, -1);
return round($percent);
}
/**
* The PhpUnit XML Coverage format does not save the full path of the filename
* We can get the filename by combining the path of the first directory with
* the href attribute of each file.
* @param \SimpleXMLElement $fileName The href attribute of the <file></file> node.
* @return string The relative path of the file, that is, relative to project root.
*/
private function getRelativePath(\SimpleXMLElement $fileName)
{
$dirOfSrcFiles = $this->element->project->directory["name"];
$projectRoot = $this->rootDir;
// Need to cut off everything lower than projectRoot
$dirFromProjectRoot = substr($dirOfSrcFiles, strlen($projectRoot) + 1);
// remove .xml and convert to string
$relativeFilePath = substr((string)$fileName, 0, -4);
return join(DIRECTORY_SEPARATOR, array($dirFromProjectRoot, $relativeFilePath));
}
}

View File

@ -0,0 +1,48 @@
<?php
namespace Codacy\Coverage\Report;
/**
* Class CoverageReport
* Holds the coverage report total result and a list (array)
* of FileReports
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
class CoverageReport
{
/**
* @var integer
*/
private $_total;
/**
* @var array (of type FileReport)
*/
private $_fileReports;
/**
* @param $total string
* @param $fileReports array (of type FileReport)
*/
public function __construct($total, $fileReports)
{
$this->_total = $total;
$this->_fileReports = $fileReports;
}
/**
* @return integer
*/
public function getTotal()
{
return $this->_total;
}
/**
* @return array (of type FileReport)
*/
public function getFileReports()
{
return $this->_fileReports;
}
}

View File

@ -0,0 +1,63 @@
<?php
namespace Codacy\Coverage\Report;
/**
* Class FileReport
* Holds the file report total result, the filename and a list (associative array)
* mapping line numbers to hits [lineNr => hits]
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
class FileReport
{
/**
* @var integer
*/
private $_total;
/**
* @var string
*/
private $_fileName;
/**
* @var array (line -> hits) of type [string -> int]
*/
private $_lineCoverage;
/**
* @param $total string
* @param $fileName string
* @param $lineCoverage array
*/
public function __construct($total, $fileName, $lineCoverage)
{
$this->_total = $total;
$this->_fileName = $fileName;
$this->_lineCoverage = $lineCoverage;
}
/**
* @return integer
*/
public function getTotal()
{
return $this->_total;
}
/**
* @return string
*/
public function getFileName()
{
return $this->_fileName;
}
/**
* @return array
*/
public function getLineCoverage()
{
return $this->_lineCoverage;
}
}

View File

@ -0,0 +1,65 @@
<?php
namespace Codacy\Coverage\Util;
/**
* Class ApiClient
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
class CodacyApiClient
{
function __construct($baseUrl, $projectToken)
{
$this->baseUrl = $baseUrl;
$this->projectToken = $projectToken;
}
/**
* @param string $commit commit uuid
* @param string $data the JSON data
*
* @return string success message
*
* @throws \Exception when remote server response
*/
public function sendCoverage($commit, $data)
{
$url = $this->baseUrl . "/2.0/coverage/" . $commit . "/php";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt(
$curl, CURLOPT_HTTPHEADER,
array(
"Content-type: application/json",
"project_token: " . $this->projectToken
)
);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($status < 200 || $status > 201) {
throw new \Exception(
sprintf("Error: call to URL %s failed with status %s, response %s, curl_error %u",
$url, $status, $json_response, curl_error($curl), curl_errno($curl)
)
);
}
curl_close($curl);
$json = json_decode($json_response, true);
if (isset($json['success']) || array_key_exists('success', $json)) {
return $json['success'];
} else {
return $json['error'];
}
}
}

View File

@ -0,0 +1,45 @@
<?php
namespace Codacy\Coverage\Util;
use Gitonomy\Git\Repository;
use Codacy\Coverage\Util\Config;
/**
* Class GitClient
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
class GitClient
{
/**
* @var Repository
*/
private $_repository;
/**
* Instantiates a GitClient object. Reads conf.ini to get the path to the repository.
* Throws InvalidArgumentException is projectRoot is not properly set in ini file.
*/
public function __construct($path)
{
if (is_dir(getcwd())) {
$this->_repository = new Repository($path);
} else {
throw new \InvalidArgumentException(
"Could not instantiate GitClient. Using: "
. getcwd()
);
}
}
/**
* @return string The Hash of the latest Commit.
*/
public function getHashOfLatestCommit()
{
$head = $this->_repository->getHeadCommit();
return $head->getHash();
}
}

View File

@ -0,0 +1,87 @@
<?php
namespace Codacy\Coverage\Util;
use Codacy\Coverage\Parser\IParser;
/**
* Class JsonProducer
* Is composed of a parser that implements the IParser interface.
* @author Jakob Pupke <jakob.pupke@gmail.com>
*/
class JsonProducer
{
/**
* @var Parser that implements IParser interface
*/
private $_parser;
/**
* Sets the JsonParser's member field
* @param $parser IParser Any parser class that implements the IParser interface
*/
public function setParser(IParser $parser)
{
$this->_parser = $parser;
}
/**
* Delegates the job to the parser's makeReport() method
* @return CoverageReport The CoverageReport object
*/
public function makeReport()
{
return $this->_parser->makeReport();
}
/**
* Takes a CoverageReport object, the result of makeReport(), and outputs JSON.
* Example JSON format:
* {
* "total": 67,
* "fileReports": [
* {
* "filename": "src/Codacy/Coverage/Api/Api.php",
* "total": 3,
* "coverage": {
* "12": 3,
* "13": 5,
* .........
* .........
* }
* },
* .........
* .......
* ]
* }
*
* @return string the JSON string
*/
public function makeJson()
{
$report = $this->makeReport();
$array = array();
$array['total'] = $report->getTotal();
$fileReportsArray = array();
$fileReports = $report->getFileReports();
foreach ($fileReports as $fr) {
$fileArray = array();
$fileArray['filename'] = $fr->getFileName();
$fileArray['total'] = $fr->getTotal();
$fileArray['coverage'] = $fr->getLineCoverage();
array_push($fileReportsArray, $fileArray);
}
$array['fileReports'] = $fileReportsArray;
if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
return json_encode($array, JSON_UNESCAPED_SLASHES);
} else {
return str_replace('\/', '/', json_encode($array));
}
}
}

View File

@ -0,0 +1,61 @@
<?php
use Codacy\Coverage\Parser\CloverParser;
class CloverParserTest extends PHPUnit_Framework_TestCase
{
public function testThrowsExceptionOnWrongPath()
{
$this->setExpectedException('InvalidArgumentException');
new CloverParser("/home/foo/bar/baz/m.xml");
}
/**
* Testing against the clover coverage report 'tests/res/clover/clover.xml'
*/
public function testCanParseCloverXmlWithoutProject()
{
$this->_canParseClover('tests/res/clover/clover.xml', "/home/jacke/Desktop/codacy-php");
}
/**
* Testing against the clover coverage report 'tests/res/clover/clover.xml'
* The test had been made in /home/jacke/Desktop/codacy-php so we need to pass this
* as 2nd (optional) parameter. Otherwise the filename will not be correct and test
* would fail on other machines or in other directories.
*/
public function testCanParseCloverXmlWithProject()
{
$this->_canParseClover('tests/res/clover/clover_without_packages.xml', "/home/jacke/Desktop/codacy-php");
}
private function _canParseClover($path, $rootDir)
{
$parser = new CloverParser($path, $rootDir);
$report = $parser->makeReport();
$this->assertEquals(38, $report->getTotal());
$this->assertEquals(5, sizeof($report->getFileReports()));
$parserFileReports = $report->getFileReports();
$parserFileReport = $parserFileReports[0];
$coverageReportFileReport = $parserFileReports[1];
$this->assertEquals(33, $parserFileReport->getTotal());
$this->assertEquals(33, $coverageReportFileReport->getTotal());
$parserFileName = $parserFileReport->getFileName();
$reportFileName = $coverageReportFileReport->getFileName();
$fileReports = $report->getFileReports();
$fileReport = $fileReports[1];
$expLineCoverage = (object)array(11 => 1, 12 => 1, 13 => 1, 16 => 1);
$this->assertEquals($fileReport->getLineCoverage(), $expLineCoverage);
$this->assertEquals("src/Codacy/Coverage/Parser/Parser.php", $parserFileName);
$this->assertEquals("src/Codacy/Coverage/Report/CoverageReport.php", $reportFileName);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace Codacy\Coverage\Parser;
use Codacy\Coverage\Util\JsonProducer;
class ParserTest extends \PHPUnit_Framework_TestCase
{
/**
* Running against tests/res/phpunit-clover
*/
public function testParsersProduceSameResult()
{
$cloverParser = new CloverParser('tests/res/phpunit-clover/clover.xml', '/home/jacke/Desktop/codacy-php');
$xunitParser = new PhpUnitXmlParser('tests/res/phpunit-clover/index.xml', '/home/jacke/Desktop/codacy-php');
$xunitParser->setDirOfFileXmls('tests/res/phpunit-clover');
$expectedJson = file_get_contents('tests/res/expected.json', true);
$jsonProducer = new JsonProducer();
$jsonProducer->setParser($cloverParser);
$cloverJson = $jsonProducer->makeJson();
$jsonProducer->setParser($xunitParser);
$xunitJson = $jsonProducer->makeJson();
$this->assertJsonStringEqualsJsonString($expectedJson, $cloverJson);
$this->assertJsonStringEqualsJsonString($expectedJson, $xunitJson);
}
}

View File

@ -0,0 +1,51 @@
<?php
use Codacy\Coverage\Parser\PhpUnitXmlParser;
class PhpUnitXmlParserTest extends PHPUnit_Framework_TestCase
{
public function testThrowsExceptionOnWrongPath()
{
$this->setExpectedException('InvalidArgumentException');
new PhpUnitXmlParser("/home/foo/bar/baz/fake.xml");
}
/**
* Testing against the clover coverage report 'tests/res/clover/clover.xml'
* The test had been made in /home/jacke/Desktop/codacy-php so we need to pass this
* as 2nd (optional) parameter. Otherwise the filename will not be correct and test
* would fail on other machines or in other directories.
*/
public function testCanParsePhpUnitXmlReport()
{
$parser = new PhpUnitXmlParser('tests/res/phpunitxml/index.xml', '/home/jacke/Desktop/codacy-php');
$parser->setDirOfFileXmls("tests/res/phpunitxml");
$report = $parser->makeReport();
$this->assertEquals(69, $report->getTotal());
$this->assertEquals(10, sizeof($report->getFileReports()));
$fileReports = $report->getFileReports();
$configFileReport = $fileReports[2];
$cloverParserFileReport = $fileReports[4];
$this->assertEquals(86, $configFileReport->getTotal());
$this->assertEquals(95, $cloverParserFileReport->getTotal());
$lineCoverage = $configFileReport->getLineCoverage();
$expLineCoverage = (object)array(24 => 4, 25 => 4, 26 => 4, 27 => 4, 28 => 4, 29 => 4);
$this->assertEquals($lineCoverage, $expLineCoverage);
$configFileName = $configFileReport->getFileName();
$cloverParserFileName = $cloverParserFileReport->getFileName();
$this->assertEquals("src/Codacy/Coverage/Config.php", $configFileName);
$this->assertEquals("src/Codacy/Coverage/Parser/CloverParser.php", $cloverParserFileName);
}
}

View File

@ -0,0 +1,13 @@
<?php
use Codacy\Coverage\Util\GitClient;
class GitClientTest extends PHPUnit_Framework_TestCase
{
public function testGetHashOfLastCommit()
{
$gitClient = new GitClient(getcwd());
$hash = $gitClient->getHashOfLatestCommit();
$this->assertEquals(40, strlen($hash));
}
}

View File

@ -0,0 +1,365 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1424652641">
<project timestamp="1424652641">
<package name="Codacy\Coverage\Parser">
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Parser/Parser.php">
<class name="Parser" namespace="Codacy\Coverage\Parser">
<metrics methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="15" coveredelements="0"/>
</class>
<class name="CloverParser" namespace="Codacy\Coverage\Parser">
<metrics methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="15" elements="36" coveredelements="17"/>
</class>
<line num="16" type="method" name="makeJson" crap="6" count="0"/>
<line num="17" type="stmt" count="0"/>
<line num="18" type="stmt" count="0"/>
<line num="20" type="stmt" count="0"/>
<line num="21" type="stmt" count="0"/>
<line num="23" type="stmt" count="0"/>
<line num="24" type="stmt" count="0"/>
<line num="25" type="stmt" count="0"/>
<line num="26" type="stmt" count="0"/>
<line num="27" type="stmt" count="0"/>
<line num="29" type="stmt" count="0"/>
<line num="30" type="stmt" count="0"/>
<line num="31" type="stmt" count="0"/>
<line num="32" type="stmt" count="0"/>
<line num="33" type="stmt" count="0"/>
<line num="43" type="method" name="__construct" crap="2" count="1"/>
<line num="44" type="stmt" count="1"/>
<line num="45" type="stmt" count="1"/>
<line num="47" type="method" name="makeJson" crap="2" count="0"/>
<line num="48" type="stmt" count="0"/>
<line num="49" type="stmt" count="0"/>
<line num="52" type="method" name="makeReport" crap="1" count="1"/>
<line num="53" type="stmt" count="1"/>
<line num="54" type="stmt" count="1"/>
<line num="55" type="stmt" count="1"/>
<line num="56" type="stmt" count="1"/>
<line num="57" type="stmt" count="1"/>
<line num="58" type="stmt" count="1"/>
<line num="59" type="stmt" count="1"/>
<line num="60" type="stmt" count="1"/>
<line num="61" type="stmt" count="1"/>
<line num="65" type="method" name="makeFileReports" crap="17.30" count="1"/>
<line num="66" type="stmt" count="1"/>
<line num="67" type="stmt" count="1"/>
<line num="68" type="stmt" count="0"/>
<line num="69" type="stmt" count="0"/>
<line num="70" type="stmt" count="0"/>
<line num="71" type="stmt" count="0"/>
<line num="72" type="stmt" count="0"/>
<line num="73" type="stmt" count="0"/>
<line num="74" type="stmt" count="0"/>
<line num="75" type="stmt" count="0"/>
<line num="76" type="stmt" count="0"/>
<line num="77" type="stmt" count="0"/>
<line num="78" type="stmt" count="0"/>
<line num="79" type="stmt" count="0"/>
<line num="80" type="stmt" count="0"/>
<line num="81" type="stmt" count="0"/>
<line num="82" type="stmt" count="0"/>
<line num="83" type="stmt" count="1"/>
<line num="84" type="stmt" count="1"/>
<metrics loc="86" ncloc="66" classes="2" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="15" elements="51" coveredelements="17"/>
</file>
</package>
<package name="Codacy\Coverage\Report">
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Report/CoverageReport.php">
<class name="CoverageReport" namespace="Codacy\Coverage\Report">
<metrics methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="4" elements="8" coveredelements="6"/>
</class>
<class name="FileReport" namespace="Codacy\Coverage\Report">
<metrics methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="11" coveredelements="0"/>
</class>
<line num="10" type="method" name="__construct" crap="1" count="1"/>
<line num="11" type="stmt" count="1"/>
<line num="12" type="stmt" count="1"/>
<line num="13" type="stmt" count="1"/>
<line num="15" type="method" name="getTotal" crap="1" count="1"/>
<line num="16" type="stmt" count="1"/>
<line num="18" type="method" name="getFileReports" crap="2" count="0"/>
<line num="19" type="stmt" count="0"/>
<line num="29" type="method" name="__construct" crap="2" count="0"/>
<line num="30" type="stmt" count="0"/>
<line num="31" type="stmt" count="0"/>
<line num="32" type="stmt" count="0"/>
<line num="33" type="stmt" count="0"/>
<line num="35" type="method" name="getTotal" crap="2" count="0"/>
<line num="36" type="stmt" count="0"/>
<line num="38" type="method" name="getFileName" crap="2" count="0"/>
<line num="39" type="stmt" count="0"/>
<line num="41" type="method" name="getLineCoverage" crap="2" count="0"/>
<line num="42" type="stmt" count="0"/>
<metrics loc="43" ncloc="39" classes="2" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="4" elements="19" coveredelements="6"/>
</file>
</package>
<package name="SebastianBergmann\GlobalState">
<file name="/home/jacke/Desktop/codacy-php/vendor/sebastian/global-state/src/Blacklist.php">
<class name="Blacklist" namespace="SebastianBergmann\GlobalState">
<metrics methods="8" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="1" elements="42" coveredelements="2"/>
</class>
<line num="90" type="method" name="addGlobalVariable" crap="2" count="0"/>
<line num="92" type="stmt" count="0"/>
<line num="93" type="stmt" count="0"/>
<line num="98" type="method" name="addClass" crap="2" count="0"/>
<line num="100" type="stmt" count="0"/>
<line num="101" type="stmt" count="0"/>
<line num="106" type="method" name="addSubclassesOf" crap="2" count="0"/>
<line num="108" type="stmt" count="0"/>
<line num="109" type="stmt" count="0"/>
<line num="114" type="method" name="addImplementorsOf" crap="2" count="0"/>
<line num="116" type="stmt" count="0"/>
<line num="117" type="stmt" count="0"/>
<line num="122" type="method" name="addClassNamePrefix" crap="2" count="0"/>
<line num="124" type="stmt" count="0"/>
<line num="125" type="stmt" count="0"/>
<line num="131" type="method" name="addStaticAttribute" crap="6" count="0"/>
<line num="133" type="stmt" count="0"/>
<line num="134" type="stmt" count="0"/>
<line num="135" type="stmt" count="0"/>
<line num="137" type="stmt" count="0"/>
<line num="138" type="stmt" count="0"/>
<line num="144" type="method" name="isGlobalVariableBlacklisted" crap="1" count="1"/>
<line num="146" type="stmt" count="1"/>
<line num="154" type="method" name="isStaticAttributeBlacklisted" crap="90" count="0"/>
<line num="156" type="stmt" count="0"/>
<line num="157" type="stmt" count="0"/>
<line num="160" type="stmt" count="0"/>
<line num="161" type="stmt" count="0"/>
<line num="162" type="stmt" count="0"/>
<line num="164" type="stmt" count="0"/>
<line num="166" type="stmt" count="0"/>
<line num="168" type="stmt" count="0"/>
<line num="169" type="stmt" count="0"/>
<line num="170" type="stmt" count="0"/>
<line num="172" type="stmt" count="0"/>
<line num="174" type="stmt" count="0"/>
<line num="175" type="stmt" count="0"/>
<line num="176" type="stmt" count="0"/>
<line num="178" type="stmt" count="0"/>
<line num="180" type="stmt" count="0"/>
<line num="181" type="stmt" count="0"/>
<line num="184" type="stmt" count="0"/>
<metrics loc="186" ncloc="92" classes="1" methods="8" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="1" elements="42" coveredelements="2"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/vendor/sebastian/global-state/src/Restorer.php">
<class name="Restorer" namespace="SebastianBergmann\GlobalState">
<metrics methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="32" elements="53" coveredelements="32"/>
</class>
<line num="64" type="method" name="restoreFunctions" crap="12" count="0"/>
<line num="66" type="stmt" count="0"/>
<line num="67" type="stmt" count="0"/>
<line num="70" type="stmt" count="0"/>
<line num="72" type="stmt" count="0"/>
<line num="73" type="stmt" count="0"/>
<line num="74" type="stmt" count="0"/>
<line num="75" type="stmt" count="0"/>
<line num="82" type="method" name="restoreGlobalVariables" crap="7.01" count="1"/>
<line num="84" type="stmt" count="1"/>
<line num="86" type="stmt" count="1"/>
<line num="87" type="stmt" count="1"/>
<line num="88" type="stmt" count="1"/>
<line num="90" type="stmt" count="1"/>
<line num="92" type="stmt" count="1"/>
<line num="93" type="stmt" count="1"/>
<line num="94" type="stmt" count="1"/>
<line num="95" type="stmt" count="1"/>
<line num="96" type="stmt" count="1"/>
<line num="97" type="stmt" count="1"/>
<line num="98" type="stmt" count="1"/>
<line num="99" type="stmt" count="0"/>
<line num="101" type="stmt" count="1"/>
<line num="102" type="stmt" count="1"/>
<line num="103" type="stmt" count="1"/>
<line num="110" type="method" name="restoreStaticAttributes" crap="12" count="0"/>
<line num="112" type="stmt" count="0"/>
<line num="113" type="stmt" count="0"/>
<line num="114" type="stmt" count="0"/>
<line num="115" type="stmt" count="0"/>
<line num="116" type="stmt" count="0"/>
<line num="117" type="stmt" count="0"/>
<line num="118" type="stmt" count="0"/>
<line num="119" type="stmt" count="0"/>
<line num="127" type="method" name="restoreSuperGlobalArray" crap="6.01" count="1"/>
<line num="129" type="stmt" count="1"/>
<line num="131" type="stmt" count="1"/>
<line num="132" type="stmt" count="1"/>
<line num="133" type="stmt" count="1"/>
<line num="134" type="stmt" count="1"/>
<line num="135" type="stmt" count="1"/>
<line num="136" type="stmt" count="1"/>
<line num="137" type="stmt" count="1"/>
<line num="138" type="stmt" count="1"/>
<line num="139" type="stmt" count="1"/>
<line num="141" type="stmt" count="1"/>
<line num="142" type="stmt" count="1"/>
<line num="143" type="stmt" count="1"/>
<line num="144" type="stmt" count="1"/>
<line num="145" type="stmt" count="0"/>
<line num="147" type="stmt" count="1"/>
<line num="148" type="stmt" count="1"/>
<line num="149" type="stmt" count="1"/>
<metrics loc="150" ncloc="79" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="32" elements="53" coveredelements="32"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/vendor/sebastian/global-state/src/Snapshot.php">
<class name="Snapshot" namespace="SebastianBergmann\GlobalState">
<metrics methods="22" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="130" coveredstatements="52" elements="152" coveredelements="59"/>
</class>
<line num="132" type="method" name="__construct" crap="28.41" count="1"/>
<line num="134" type="stmt" count="1"/>
<line num="135" type="stmt" count="0"/>
<line num="136" type="stmt" count="0"/>
<line num="138" type="stmt" count="1"/>
<line num="140" type="stmt" count="1"/>
<line num="141" type="stmt" count="0"/>
<line num="142" type="stmt" count="0"/>
<line num="144" type="stmt" count="1"/>
<line num="145" type="stmt" count="0"/>
<line num="146" type="stmt" count="0"/>
<line num="148" type="stmt" count="1"/>
<line num="149" type="stmt" count="0"/>
<line num="150" type="stmt" count="0"/>
<line num="152" type="stmt" count="1"/>
<line num="153" type="stmt" count="0"/>
<line num="154" type="stmt" count="0"/>
<line num="156" type="stmt" count="1"/>
<line num="157" type="stmt" count="1"/>
<line num="158" type="stmt" count="1"/>
<line num="159" type="stmt" count="1"/>
<line num="161" type="stmt" count="1"/>
<line num="162" type="stmt" count="0"/>
<line num="163" type="stmt" count="0"/>
<line num="165" type="stmt" count="1"/>
<line num="166" type="stmt" count="0"/>
<line num="167" type="stmt" count="0"/>
<line num="169" type="stmt" count="1"/>
<line num="170" type="stmt" count="0"/>
<line num="171" type="stmt" count="0"/>
<line num="173" type="stmt" count="1"/>
<line num="174" type="stmt" count="1"/>
<line num="175" type="stmt" count="1"/>
<line num="176" type="stmt" count="1"/>
<line num="181" type="method" name="blacklist" crap="1" count="1"/>
<line num="183" type="stmt" count="1"/>
<line num="189" type="method" name="globalVariables" crap="1" count="1"/>
<line num="191" type="stmt" count="1"/>
<line num="197" type="method" name="superGlobalVariables" crap="1" count="1"/>
<line num="199" type="stmt" count="1"/>
<line num="207" type="method" name="superGlobalArrays" crap="1" count="1"/>
<line num="209" type="stmt" count="1"/>
<line num="215" type="method" name="staticAttributes" crap="2" count="0"/>
<line num="217" type="stmt" count="0"/>
<line num="223" type="method" name="iniSettings" crap="2" count="0"/>
<line num="225" type="stmt" count="0"/>
<line num="231" type="method" name="includedFiles" crap="2" count="0"/>
<line num="233" type="stmt" count="0"/>
<line num="239" type="method" name="constants" crap="2" count="0"/>
<line num="241" type="stmt" count="0"/>
<line num="247" type="method" name="functions" crap="2" count="0"/>
<line num="249" type="stmt" count="0"/>
<line num="255" type="method" name="interfaces" crap="2" count="0"/>
<line num="257" type="stmt" count="0"/>
<line num="263" type="method" name="classes" crap="2" count="0"/>
<line num="265" type="stmt" count="0"/>
<line num="271" type="method" name="traits" crap="2" count="0"/>
<line num="273" type="stmt" count="0"/>
<line num="279" type="method" name="snapshotConstants" crap="6" count="0"/>
<line num="281" type="stmt" count="0"/>
<line num="283" type="stmt" count="0"/>
<line num="284" type="stmt" count="0"/>
<line num="285" type="stmt" count="0"/>
<line num="286" type="stmt" count="0"/>
<line num="291" type="method" name="snapshotFunctions" crap="2" count="0"/>
<line num="293" type="stmt" count="0"/>
<line num="295" type="stmt" count="0"/>
<line num="296" type="stmt" count="0"/>
<line num="301" type="method" name="snapshotClasses" crap="12" count="0"/>
<line num="303" type="stmt" count="0"/>
<line num="304" type="stmt" count="0"/>
<line num="306" type="stmt" count="0"/>
<line num="307" type="stmt" count="0"/>
<line num="310" type="stmt" count="0"/>
<line num="311" type="stmt" count="0"/>
<line num="313" type="stmt" count="0"/>
<line num="314" type="stmt" count="0"/>
<line num="319" type="method" name="snapshotInterfaces" crap="12" count="0"/>
<line num="321" type="stmt" count="0"/>
<line num="322" type="stmt" count="0"/>
<line num="324" type="stmt" count="0"/>
<line num="325" type="stmt" count="0"/>
<line num="328" type="stmt" count="0"/>
<line num="329" type="stmt" count="0"/>
<line num="331" type="stmt" count="0"/>
<line num="332" type="stmt" count="0"/>
<line num="337" type="method" name="snapshotGlobals" crap="7" count="1"/>
<line num="339" type="stmt" count="1"/>
<line num="341" type="stmt" count="1"/>
<line num="342" type="stmt" count="1"/>
<line num="343" type="stmt" count="1"/>
<line num="345" type="stmt" count="1"/>
<line num="346" type="stmt" count="1"/>
<line num="347" type="stmt" count="1"/>
<line num="348" type="stmt" count="1"/>
<line num="349" type="stmt" count="1"/>
<line num="350" type="stmt" count="1"/>
<line num="351" type="stmt" count="1"/>
<line num="352" type="stmt" count="1"/>
<line num="353" type="stmt" count="1"/>
<line num="360" type="method" name="snapshotSuperGlobalArray" crap="4" count="1"/>
<line num="362" type="stmt" count="1"/>
<line num="364" type="stmt" count="1"/>
<line num="365" type="stmt" count="1"/>
<line num="366" type="stmt" count="1"/>
<line num="367" type="stmt" count="1"/>
<line num="368" type="stmt" count="1"/>
<line num="369" type="stmt" count="1"/>
<line num="374" type="method" name="snapshotStaticAttributes" crap="56" count="0"/>
<line num="376" type="stmt" count="0"/>
<line num="377" type="stmt" count="0"/>
<line num="378" type="stmt" count="0"/>
<line num="380" type="stmt" count="0"/>
<line num="381" type="stmt" count="0"/>
<line num="382" type="stmt" count="0"/>
<line num="384" type="stmt" count="0"/>
<line num="385" type="stmt" count="0"/>
<line num="388" type="stmt" count="0"/>
<line num="389" type="stmt" count="0"/>
<line num="391" type="stmt" count="0"/>
<line num="392" type="stmt" count="0"/>
<line num="393" type="stmt" count="0"/>
<line num="394" type="stmt" count="0"/>
<line num="395" type="stmt" count="0"/>
<line num="397" type="stmt" count="0"/>
<line num="398" type="stmt" count="0"/>
<line num="399" type="stmt" count="0"/>
<line num="400" type="stmt" count="0"/>
<line num="401" type="stmt" count="0"/>
<line num="408" type="method" name="setupSuperGlobalArrays" crap="2.50" count="1"/>
<line num="410" type="stmt" count="1"/>
<line num="411" type="stmt" count="1"/>
<line num="412" type="stmt" count="1"/>
<line num="413" type="stmt" count="1"/>
<line num="414" type="stmt" count="1"/>
<line num="415" type="stmt" count="1"/>
<line num="416" type="stmt" count="1"/>
<line num="418" type="stmt" count="1"/>
<line num="420" type="stmt" count="1"/>
<line num="421" type="stmt" count="0"/>
<line num="422" type="stmt" count="0"/>
<line num="424" type="stmt" count="0"/>
<line num="425" type="stmt" count="0"/>
<line num="426" type="stmt" count="0"/>
<line num="427" type="stmt" count="0"/>
<line num="428" type="stmt" count="0"/>
<line num="430" type="stmt" count="0"/>
<line num="431" type="stmt" count="0"/>
<line num="432" type="stmt" count="0"/>
<line num="433" type="stmt" count="1"/>
<line num="440" type="method" name="canBeSerialized" crap="1" count="1"/>
<line num="441" type="stmt" count="1"/>
<metrics loc="443" ncloc="274" classes="1" methods="22" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="130" coveredstatements="52" elements="152" coveredelements="59"/>
</file>
</package>
<metrics files="5" loc="908" ncloc="550" classes="7" methods="46" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="271" coveredstatements="104" elements="317" coveredelements="116"/>
</project>
</coverage>

View File

@ -0,0 +1,359 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1424652641">
<project timestamp="1424652641">
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Parser/Parser.php">
<class name="Parser" namespace="Codacy\Coverage\Parser">
<metrics methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="15" coveredelements="0"/>
</class>
<class name="CloverParser" namespace="Codacy\Coverage\Parser">
<metrics methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="15" elements="36" coveredelements="17"/>
</class>
<line num="16" type="method" name="makeJson" crap="6" count="0"/>
<line num="17" type="stmt" count="0"/>
<line num="18" type="stmt" count="0"/>
<line num="20" type="stmt" count="0"/>
<line num="21" type="stmt" count="0"/>
<line num="23" type="stmt" count="0"/>
<line num="24" type="stmt" count="0"/>
<line num="25" type="stmt" count="0"/>
<line num="26" type="stmt" count="0"/>
<line num="27" type="stmt" count="0"/>
<line num="29" type="stmt" count="0"/>
<line num="30" type="stmt" count="0"/>
<line num="31" type="stmt" count="0"/>
<line num="32" type="stmt" count="0"/>
<line num="33" type="stmt" count="0"/>
<line num="43" type="method" name="__construct" crap="2" count="1"/>
<line num="44" type="stmt" count="1"/>
<line num="45" type="stmt" count="1"/>
<line num="47" type="method" name="makeJson" crap="2" count="0"/>
<line num="48" type="stmt" count="0"/>
<line num="49" type="stmt" count="0"/>
<line num="52" type="method" name="makeReport" crap="1" count="1"/>
<line num="53" type="stmt" count="1"/>
<line num="54" type="stmt" count="1"/>
<line num="55" type="stmt" count="1"/>
<line num="56" type="stmt" count="1"/>
<line num="57" type="stmt" count="1"/>
<line num="58" type="stmt" count="1"/>
<line num="59" type="stmt" count="1"/>
<line num="60" type="stmt" count="1"/>
<line num="61" type="stmt" count="1"/>
<line num="65" type="method" name="makeFileReports" crap="17.30" count="1"/>
<line num="66" type="stmt" count="1"/>
<line num="67" type="stmt" count="1"/>
<line num="68" type="stmt" count="0"/>
<line num="69" type="stmt" count="0"/>
<line num="70" type="stmt" count="0"/>
<line num="71" type="stmt" count="0"/>
<line num="72" type="stmt" count="0"/>
<line num="73" type="stmt" count="0"/>
<line num="74" type="stmt" count="0"/>
<line num="75" type="stmt" count="0"/>
<line num="76" type="stmt" count="0"/>
<line num="77" type="stmt" count="0"/>
<line num="78" type="stmt" count="0"/>
<line num="79" type="stmt" count="0"/>
<line num="80" type="stmt" count="0"/>
<line num="81" type="stmt" count="0"/>
<line num="82" type="stmt" count="0"/>
<line num="83" type="stmt" count="1"/>
<line num="84" type="stmt" count="1"/>
<metrics loc="86" ncloc="66" classes="2" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="15" elements="51" coveredelements="17"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Report/CoverageReport.php">
<class name="CoverageReport" namespace="Codacy\Coverage\Report">
<metrics methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="4" elements="8" coveredelements="6"/>
</class>
<class name="FileReport" namespace="Codacy\Coverage\Report">
<metrics methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="11" coveredelements="0"/>
</class>
<line num="10" type="method" name="__construct" crap="1" count="1"/>
<line num="11" type="stmt" count="1"/>
<line num="12" type="stmt" count="1"/>
<line num="13" type="stmt" count="1"/>
<line num="15" type="method" name="getTotal" crap="1" count="1"/>
<line num="16" type="stmt" count="1"/>
<line num="18" type="method" name="getFileReports" crap="2" count="0"/>
<line num="19" type="stmt" count="0"/>
<line num="29" type="method" name="__construct" crap="2" count="0"/>
<line num="30" type="stmt" count="0"/>
<line num="31" type="stmt" count="0"/>
<line num="32" type="stmt" count="0"/>
<line num="33" type="stmt" count="0"/>
<line num="35" type="method" name="getTotal" crap="2" count="0"/>
<line num="36" type="stmt" count="0"/>
<line num="38" type="method" name="getFileName" crap="2" count="0"/>
<line num="39" type="stmt" count="0"/>
<line num="41" type="method" name="getLineCoverage" crap="2" count="0"/>
<line num="42" type="stmt" count="0"/>
<metrics loc="43" ncloc="39" classes="2" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="4" elements="19" coveredelements="6"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/vendor/sebastian/global-state/src/Blacklist.php">
<class name="Blacklist" namespace="SebastianBergmann\GlobalState">
<metrics methods="8" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="1" elements="42" coveredelements="2"/>
</class>
<line num="90" type="method" name="addGlobalVariable" crap="2" count="0"/>
<line num="92" type="stmt" count="0"/>
<line num="93" type="stmt" count="0"/>
<line num="98" type="method" name="addClass" crap="2" count="0"/>
<line num="100" type="stmt" count="0"/>
<line num="101" type="stmt" count="0"/>
<line num="106" type="method" name="addSubclassesOf" crap="2" count="0"/>
<line num="108" type="stmt" count="0"/>
<line num="109" type="stmt" count="0"/>
<line num="114" type="method" name="addImplementorsOf" crap="2" count="0"/>
<line num="116" type="stmt" count="0"/>
<line num="117" type="stmt" count="0"/>
<line num="122" type="method" name="addClassNamePrefix" crap="2" count="0"/>
<line num="124" type="stmt" count="0"/>
<line num="125" type="stmt" count="0"/>
<line num="131" type="method" name="addStaticAttribute" crap="6" count="0"/>
<line num="133" type="stmt" count="0"/>
<line num="134" type="stmt" count="0"/>
<line num="135" type="stmt" count="0"/>
<line num="137" type="stmt" count="0"/>
<line num="138" type="stmt" count="0"/>
<line num="144" type="method" name="isGlobalVariableBlacklisted" crap="1" count="1"/>
<line num="146" type="stmt" count="1"/>
<line num="154" type="method" name="isStaticAttributeBlacklisted" crap="90" count="0"/>
<line num="156" type="stmt" count="0"/>
<line num="157" type="stmt" count="0"/>
<line num="160" type="stmt" count="0"/>
<line num="161" type="stmt" count="0"/>
<line num="162" type="stmt" count="0"/>
<line num="164" type="stmt" count="0"/>
<line num="166" type="stmt" count="0"/>
<line num="168" type="stmt" count="0"/>
<line num="169" type="stmt" count="0"/>
<line num="170" type="stmt" count="0"/>
<line num="172" type="stmt" count="0"/>
<line num="174" type="stmt" count="0"/>
<line num="175" type="stmt" count="0"/>
<line num="176" type="stmt" count="0"/>
<line num="178" type="stmt" count="0"/>
<line num="180" type="stmt" count="0"/>
<line num="181" type="stmt" count="0"/>
<line num="184" type="stmt" count="0"/>
<metrics loc="186" ncloc="92" classes="1" methods="8" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="1" elements="42" coveredelements="2"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/vendor/sebastian/global-state/src/Restorer.php">
<class name="Restorer" namespace="SebastianBergmann\GlobalState">
<metrics methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="32" elements="53" coveredelements="32"/>
</class>
<line num="64" type="method" name="restoreFunctions" crap="12" count="0"/>
<line num="66" type="stmt" count="0"/>
<line num="67" type="stmt" count="0"/>
<line num="70" type="stmt" count="0"/>
<line num="72" type="stmt" count="0"/>
<line num="73" type="stmt" count="0"/>
<line num="74" type="stmt" count="0"/>
<line num="75" type="stmt" count="0"/>
<line num="82" type="method" name="restoreGlobalVariables" crap="7.01" count="1"/>
<line num="84" type="stmt" count="1"/>
<line num="86" type="stmt" count="1"/>
<line num="87" type="stmt" count="1"/>
<line num="88" type="stmt" count="1"/>
<line num="90" type="stmt" count="1"/>
<line num="92" type="stmt" count="1"/>
<line num="93" type="stmt" count="1"/>
<line num="94" type="stmt" count="1"/>
<line num="95" type="stmt" count="1"/>
<line num="96" type="stmt" count="1"/>
<line num="97" type="stmt" count="1"/>
<line num="98" type="stmt" count="1"/>
<line num="99" type="stmt" count="0"/>
<line num="101" type="stmt" count="1"/>
<line num="102" type="stmt" count="1"/>
<line num="103" type="stmt" count="1"/>
<line num="110" type="method" name="restoreStaticAttributes" crap="12" count="0"/>
<line num="112" type="stmt" count="0"/>
<line num="113" type="stmt" count="0"/>
<line num="114" type="stmt" count="0"/>
<line num="115" type="stmt" count="0"/>
<line num="116" type="stmt" count="0"/>
<line num="117" type="stmt" count="0"/>
<line num="118" type="stmt" count="0"/>
<line num="119" type="stmt" count="0"/>
<line num="127" type="method" name="restoreSuperGlobalArray" crap="6.01" count="1"/>
<line num="129" type="stmt" count="1"/>
<line num="131" type="stmt" count="1"/>
<line num="132" type="stmt" count="1"/>
<line num="133" type="stmt" count="1"/>
<line num="134" type="stmt" count="1"/>
<line num="135" type="stmt" count="1"/>
<line num="136" type="stmt" count="1"/>
<line num="137" type="stmt" count="1"/>
<line num="138" type="stmt" count="1"/>
<line num="139" type="stmt" count="1"/>
<line num="141" type="stmt" count="1"/>
<line num="142" type="stmt" count="1"/>
<line num="143" type="stmt" count="1"/>
<line num="144" type="stmt" count="1"/>
<line num="145" type="stmt" count="0"/>
<line num="147" type="stmt" count="1"/>
<line num="148" type="stmt" count="1"/>
<line num="149" type="stmt" count="1"/>
<metrics loc="150" ncloc="79" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="32" elements="53" coveredelements="32"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/vendor/sebastian/global-state/src/Snapshot.php">
<class name="Snapshot" namespace="SebastianBergmann\GlobalState">
<metrics methods="22" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="130" coveredstatements="52" elements="152" coveredelements="59"/>
</class>
<line num="132" type="method" name="__construct" crap="28.41" count="1"/>
<line num="134" type="stmt" count="1"/>
<line num="135" type="stmt" count="0"/>
<line num="136" type="stmt" count="0"/>
<line num="138" type="stmt" count="1"/>
<line num="140" type="stmt" count="1"/>
<line num="141" type="stmt" count="0"/>
<line num="142" type="stmt" count="0"/>
<line num="144" type="stmt" count="1"/>
<line num="145" type="stmt" count="0"/>
<line num="146" type="stmt" count="0"/>
<line num="148" type="stmt" count="1"/>
<line num="149" type="stmt" count="0"/>
<line num="150" type="stmt" count="0"/>
<line num="152" type="stmt" count="1"/>
<line num="153" type="stmt" count="0"/>
<line num="154" type="stmt" count="0"/>
<line num="156" type="stmt" count="1"/>
<line num="157" type="stmt" count="1"/>
<line num="158" type="stmt" count="1"/>
<line num="159" type="stmt" count="1"/>
<line num="161" type="stmt" count="1"/>
<line num="162" type="stmt" count="0"/>
<line num="163" type="stmt" count="0"/>
<line num="165" type="stmt" count="1"/>
<line num="166" type="stmt" count="0"/>
<line num="167" type="stmt" count="0"/>
<line num="169" type="stmt" count="1"/>
<line num="170" type="stmt" count="0"/>
<line num="171" type="stmt" count="0"/>
<line num="173" type="stmt" count="1"/>
<line num="174" type="stmt" count="1"/>
<line num="175" type="stmt" count="1"/>
<line num="176" type="stmt" count="1"/>
<line num="181" type="method" name="blacklist" crap="1" count="1"/>
<line num="183" type="stmt" count="1"/>
<line num="189" type="method" name="globalVariables" crap="1" count="1"/>
<line num="191" type="stmt" count="1"/>
<line num="197" type="method" name="superGlobalVariables" crap="1" count="1"/>
<line num="199" type="stmt" count="1"/>
<line num="207" type="method" name="superGlobalArrays" crap="1" count="1"/>
<line num="209" type="stmt" count="1"/>
<line num="215" type="method" name="staticAttributes" crap="2" count="0"/>
<line num="217" type="stmt" count="0"/>
<line num="223" type="method" name="iniSettings" crap="2" count="0"/>
<line num="225" type="stmt" count="0"/>
<line num="231" type="method" name="includedFiles" crap="2" count="0"/>
<line num="233" type="stmt" count="0"/>
<line num="239" type="method" name="constants" crap="2" count="0"/>
<line num="241" type="stmt" count="0"/>
<line num="247" type="method" name="functions" crap="2" count="0"/>
<line num="249" type="stmt" count="0"/>
<line num="255" type="method" name="interfaces" crap="2" count="0"/>
<line num="257" type="stmt" count="0"/>
<line num="263" type="method" name="classes" crap="2" count="0"/>
<line num="265" type="stmt" count="0"/>
<line num="271" type="method" name="traits" crap="2" count="0"/>
<line num="273" type="stmt" count="0"/>
<line num="279" type="method" name="snapshotConstants" crap="6" count="0"/>
<line num="281" type="stmt" count="0"/>
<line num="283" type="stmt" count="0"/>
<line num="284" type="stmt" count="0"/>
<line num="285" type="stmt" count="0"/>
<line num="286" type="stmt" count="0"/>
<line num="291" type="method" name="snapshotFunctions" crap="2" count="0"/>
<line num="293" type="stmt" count="0"/>
<line num="295" type="stmt" count="0"/>
<line num="296" type="stmt" count="0"/>
<line num="301" type="method" name="snapshotClasses" crap="12" count="0"/>
<line num="303" type="stmt" count="0"/>
<line num="304" type="stmt" count="0"/>
<line num="306" type="stmt" count="0"/>
<line num="307" type="stmt" count="0"/>
<line num="310" type="stmt" count="0"/>
<line num="311" type="stmt" count="0"/>
<line num="313" type="stmt" count="0"/>
<line num="314" type="stmt" count="0"/>
<line num="319" type="method" name="snapshotInterfaces" crap="12" count="0"/>
<line num="321" type="stmt" count="0"/>
<line num="322" type="stmt" count="0"/>
<line num="324" type="stmt" count="0"/>
<line num="325" type="stmt" count="0"/>
<line num="328" type="stmt" count="0"/>
<line num="329" type="stmt" count="0"/>
<line num="331" type="stmt" count="0"/>
<line num="332" type="stmt" count="0"/>
<line num="337" type="method" name="snapshotGlobals" crap="7" count="1"/>
<line num="339" type="stmt" count="1"/>
<line num="341" type="stmt" count="1"/>
<line num="342" type="stmt" count="1"/>
<line num="343" type="stmt" count="1"/>
<line num="345" type="stmt" count="1"/>
<line num="346" type="stmt" count="1"/>
<line num="347" type="stmt" count="1"/>
<line num="348" type="stmt" count="1"/>
<line num="349" type="stmt" count="1"/>
<line num="350" type="stmt" count="1"/>
<line num="351" type="stmt" count="1"/>
<line num="352" type="stmt" count="1"/>
<line num="353" type="stmt" count="1"/>
<line num="360" type="method" name="snapshotSuperGlobalArray" crap="4" count="1"/>
<line num="362" type="stmt" count="1"/>
<line num="364" type="stmt" count="1"/>
<line num="365" type="stmt" count="1"/>
<line num="366" type="stmt" count="1"/>
<line num="367" type="stmt" count="1"/>
<line num="368" type="stmt" count="1"/>
<line num="369" type="stmt" count="1"/>
<line num="374" type="method" name="snapshotStaticAttributes" crap="56" count="0"/>
<line num="376" type="stmt" count="0"/>
<line num="377" type="stmt" count="0"/>
<line num="378" type="stmt" count="0"/>
<line num="380" type="stmt" count="0"/>
<line num="381" type="stmt" count="0"/>
<line num="382" type="stmt" count="0"/>
<line num="384" type="stmt" count="0"/>
<line num="385" type="stmt" count="0"/>
<line num="388" type="stmt" count="0"/>
<line num="389" type="stmt" count="0"/>
<line num="391" type="stmt" count="0"/>
<line num="392" type="stmt" count="0"/>
<line num="393" type="stmt" count="0"/>
<line num="394" type="stmt" count="0"/>
<line num="395" type="stmt" count="0"/>
<line num="397" type="stmt" count="0"/>
<line num="398" type="stmt" count="0"/>
<line num="399" type="stmt" count="0"/>
<line num="400" type="stmt" count="0"/>
<line num="401" type="stmt" count="0"/>
<line num="408" type="method" name="setupSuperGlobalArrays" crap="2.50" count="1"/>
<line num="410" type="stmt" count="1"/>
<line num="411" type="stmt" count="1"/>
<line num="412" type="stmt" count="1"/>
<line num="413" type="stmt" count="1"/>
<line num="414" type="stmt" count="1"/>
<line num="415" type="stmt" count="1"/>
<line num="416" type="stmt" count="1"/>
<line num="418" type="stmt" count="1"/>
<line num="420" type="stmt" count="1"/>
<line num="421" type="stmt" count="0"/>
<line num="422" type="stmt" count="0"/>
<line num="424" type="stmt" count="0"/>
<line num="425" type="stmt" count="0"/>
<line num="426" type="stmt" count="0"/>
<line num="427" type="stmt" count="0"/>
<line num="428" type="stmt" count="0"/>
<line num="430" type="stmt" count="0"/>
<line num="431" type="stmt" count="0"/>
<line num="432" type="stmt" count="0"/>
<line num="433" type="stmt" count="1"/>
<line num="440" type="method" name="canBeSerialized" crap="1" count="1"/>
<line num="441" type="stmt" count="1"/>
<metrics loc="443" ncloc="274" classes="1" methods="22" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="130" coveredstatements="52" elements="152" coveredelements="59"/>
</file>
<metrics files="5" loc="908" ncloc="550" classes="7" methods="46" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="271" coveredstatements="104" elements="317" coveredelements="116"/>
</project>
</coverage>

View File

@ -0,0 +1,179 @@
{
"total": 94,
"fileReports": [
{
"filename": "src/Codacy/Coverage/Parser/CloverParser.php",
"total": 96,
"coverage": {
"24": 3,
"25": 3,
"26": 3,
"27": 3,
"28": 3,
"29": 3,
"30": 3,
"31": 3,
"43": 3,
"49": 3,
"51": 1,
"52": 1,
"53": 3,
"54": 2,
"55": 2,
"56": 3,
"67": 3,
"69": 3,
"70": 3,
"71": 3,
"74": 3,
"76": 3,
"77": 3,
"78": 3,
"79": 3,
"80": 3,
"81": 3,
"93": 2,
"94": 2,
"95": 2,
"96": 2,
"107": 3,
"108": 3,
"109": 3,
"111": 3,
"112": 3,
"113": 3,
"114": 3,
"115": 3,
"116": 3,
"117": 3,
"129": 3,
"130": 3
}
},
{
"filename": "src/Codacy/Coverage/Parser/Parser.php",
"total": 100,
"coverage": {
"42": 6,
"43": 4,
"44": 1,
"45": 1,
"46": 3,
"48": 4,
"49": 4,
"50": 2,
"52": 2,
"53": 2,
"55": 4
}
},
{
"filename": "src/Codacy/Coverage/Parser/PhpUnitXmlParser.php",
"total": 93,
"coverage": {
"33": 2,
"34": 2,
"40": 2,
"46": 2,
"48": 2,
"49": 2,
"50": 2,
"51": 2,
"53": 2,
"54": 2,
"56": 2,
"57": 2,
"58": 2,
"64": 2,
"65": 2,
"66": 2,
"67": 2,
"68": 2,
"69": 2,
"79": 2,
"80": 2,
"81": 2,
"82": 2,
"83": 2,
"84": 2,
"85": 2,
"86": 2,
"87": 2,
"88": 2,
"90": 2,
"100": 2,
"101": 2,
"102": 2,
"115": 2,
"116": 2,
"118": 2,
"120": 2,
"121": 2
}
},
{
"filename": "src/Codacy/Coverage/Report/CoverageReport.php",
"total": 100,
"coverage": {
"29": 4,
"30": 4,
"31": 4,
"38": 4,
"46": 4
}
},
{
"filename": "src/Codacy/Coverage/Report/FileReport.php",
"total": 100,
"coverage": {
"35": 4,
"36": 4,
"37": 4,
"38": 4,
"45": 4,
"53": 4,
"61": 4
}
},
{
"filename": "src/Codacy/Coverage/Util/GitClient.php",
"total": 67,
"coverage": {
"25": 1,
"26": 1,
"27": 1,
"34": 1,
"41": 1,
"42": 1
}
},
{
"filename": "src/Codacy/Coverage/Util/JsonProducer.php",
"total": 100,
"coverage": {
"25": 1,
"26": 1,
"34": 1,
"62": 1,
"63": 1,
"64": 1,
"66": 1,
"67": 1,
"69": 1,
"70": 1,
"71": 1,
"72": 1,
"73": 1,
"75": 1,
"76": 1,
"78": 1,
"81": 1
}
},
{
"filename": "src/Codacy/Coverage/Util/EmptyFile.php",
"total": 0,
"coverage": {}
}
]
}

View File

@ -0,0 +1,229 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="CloverParser.php">
<totals>
<lines total="131" comments="56" code="75" executable="45" executed="43" percent="95.56%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="CloverParser" start="14" executable="45" executed="43" crap="14">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage\Parser"/>
<method name="makeReport" signature="makeReport()" start="22" end="32" crap="1" executable="8" executed="8" coverage="100"/>
<method name="makeFileReports" signature="makeFileReports(\SimpleXMLElement $node)" start="41" end="57" crap="3" executable="8" executed="8" coverage="100"/>
<method name="makeFileReportsFromFiles" signature="makeFileReportsFromFiles(\SimpleXMLElement $node, $fileReports)" start="65" end="82" crap="3.03" executable="13" executed="11" coverage="84.615384615385"/>
<method name="makeFileReportsFromPackages" signature="makeFileReportsFromPackages(\SimpleXMLElement $node, $fileReports)" start="90" end="97" crap="2" executable="4" executed="4" coverage="100"/>
<method name="getLineCoverage" signature="getLineCoverage(\SimpleXMLElement $node)" start="105" end="118" crap="4" executable="10" executed="10" coverage="100"/>
<method name="getRelativePath" signature="getRelativePath(\SimpleXMLElement $fileName)" start="127" end="131" crap="1" executable="2" executed="2" coverage="100"/>
</class>
<coverage>
<line nr="24">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="25">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="26">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="27">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="28">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="29">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="30">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="31">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="43">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="49">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="51">
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
</line>
<line nr="52">
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
</line>
<line nr="53">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="54">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="55">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="56">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="67">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="69">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="70">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="71">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="74">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="76">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="77">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="78">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="79">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="80">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="81">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="93">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="94">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="95">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="96">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="107">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="108">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="109">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="111">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="112">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="113">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="114">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="115">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="116">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="117">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="129">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="130">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,74 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="Parser.php">
<totals>
<lines total="57" comments="24" code="33" executable="11" executed="11" percent="100.00%"/>
<methods count="1" tested="1" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="XMLParser" start="21" executable="11" executed="11" crap="3">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage\Parser"/>
<method name="__construct" signature="__construct($path, $rootDir = null)" start="40" end="55" crap="3" executable="11" executed="11" coverage="100"/>
</class>
<coverage>
<line nr="42">
<covered by="CloverParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="43">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="44">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="45">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="46">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="48">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="49">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="50">
<covered by="CloverParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath"/>
</line>
<line nr="52">
<covered by="CloverParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath"/>
</line>
<line nr="53">
<covered by="CloverParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath"/>
</line>
<line nr="55">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,176 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="PhpUnitXmlParser.php">
<totals>
<lines total="122" comments="49" code="73" executable="41" executed="38" percent="92.68%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="PhpUnitXmlParser" start="16" executable="41" executed="38" crap="11.05">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage\Parser"/>
<method name="setDirOfFileXmls" signature="setDirOfFileXmls($dir)" start="32" end="34" crap="1" executable="2" executed="2" coverage="100"/>
<method name="getDirOfFileXmls" signature="getDirOfFileXmls()" start="39" end="41" crap="1" executable="1" executed="1" coverage="100"/>
<method name="makeReport" signature="makeReport()" start="43" end="70" crap="3.04" executable="19" executed="16" coverage="84.210526315789"/>
<method name="getLineCoverage" signature="getLineCoverage(\SimpleXMLElement $node)" start="77" end="91" crap="4" executable="11" executed="11" coverage="100"/>
<method name="getTotalFromPercent" signature="getTotalFromPercent(\SimpleXMLElement $percent)" start="98" end="103" crap="1" executable="3" executed="3" coverage="100"/>
<method name="getRelativePath" signature="getRelativePath(\SimpleXMLElement $fileName)" start="112" end="122" crap="1" executable="5" executed="5" coverage="100"/>
</class>
<coverage>
<line nr="33">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="34">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="40">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="46">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="48">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="49">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="50">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="51">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="53">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="54">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="56">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="57">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="58">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="64">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="65">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="66">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="67">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="68">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="69">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="79">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="80">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="81">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="82">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="83">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="84">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="85">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="86">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="87">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="88">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="90">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="100">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="101">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="102">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="115">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="116">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="118">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="120">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="121">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,51 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="CoverageReport.php">
<totals>
<lines total="47" comments="22" code="25" executable="5" executed="5" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="CoverageReport" start="11" executable="5" executed="5" crap="3">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage\Report"/>
<method name="__construct" signature="__construct($total, $fileReports)" start="27" end="31" crap="1" executable="3" executed="3" coverage="100"/>
<method name="getTotal" signature="getTotal()" start="36" end="39" crap="1" executable="1" executed="1" coverage="100"/>
<method name="getFileReports" signature="getFileReports()" start="44" end="47" crap="1" executable="1" executed="1" coverage="100"/>
</class>
<coverage>
<line nr="29">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="30">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="31">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="38">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="46">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,64 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="FileReport.php">
<totals>
<lines total="62" comments="29" code="33" executable="7" executed="7" percent="100.00%"/>
<methods count="4" tested="4" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="FileReport" start="11" executable="7" executed="7" crap="4">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage\Report"/>
<method name="__construct" signature="__construct($total, $fileName, $lineCoverage)" start="33" end="38" crap="1" executable="4" executed="4" coverage="100"/>
<method name="getTotal" signature="getTotal()" start="43" end="46" crap="1" executable="1" executed="1" coverage="100"/>
<method name="getFileName" signature="getFileName()" start="51" end="54" crap="1" executable="1" executed="1" coverage="100"/>
<method name="getLineCoverage" signature="getLineCoverage()" start="59" end="62" crap="1" executable="1" executed="1" coverage="100"/>
</class>
<coverage>
<line nr="35">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="36">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="37">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="38">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="45">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="53">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="61">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="EmptyFile.php">
<totals>
<lines total="45" comments="14" code="31" executable="9" executed="0" percent=""/>
<methods count="2" tested="0" percent=""/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent=""/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="EmptyFile" start="12" executable="9" executed="0" crap="3.33">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage\Util"/>
</class>
<coverage>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,38 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="GitClient.php">
<totals>
<lines total="45" comments="14" code="31" executable="9" executed="6" percent="66.67%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="GitClient" start="12" executable="9" executed="6" crap="3.33">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage\Util"/>
<method name="__construct" signature="__construct($path)" start="23" end="34" crap="2.31" executable="7" executed="4" coverage="57.142857142857"/>
<method name="getHashOfLatestCommit" signature="getHashOfLatestCommit()" start="39" end="43" crap="1" executable="2" executed="2" coverage="100"/>
</class>
<coverage>
<line nr="25">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="26">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="27">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="34">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="41">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="42">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,72 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="JsonProducer.php">
<totals>
<lines total="82" comments="41" code="41" executable="17" executed="17" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="JsonProducer" start="12" executable="17" executed="17" crap="4">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage\Util"/>
<method name="setParser" signature="setParser(IParser $parser)" start="23" end="26" crap="1" executable="2" executed="2" coverage="100"/>
<method name="makeReport" signature="makeReport()" start="32" end="35" crap="1" executable="1" executed="1" coverage="100"/>
<method name="makeJson" signature="makeJson()" start="60" end="82" crap="2" executable="14" executed="14" coverage="100"/>
</class>
<coverage>
<line nr="25">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="26">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="34">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="62">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="63">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="64">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="66">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="67">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="69">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="70">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="71">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="72">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="73">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="75">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="76">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="78">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
<line nr="81">
<covered by="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,244 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1425059542">
<project timestamp="1425059542">
<package name="Codacy\Coverage\Parser">
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Parser/CloverParser.php">
<class name="CloverParser" namespace="Codacy\Coverage\Parser">
<metrics methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="45"
coveredstatements="43" elements="51" coveredelements="48"/>
</class>
<line num="22" type="method" name="makeReport" crap="1" count="3"/>
<line num="24" type="stmt" count="3"/>
<line num="25" type="stmt" count="3"/>
<line num="26" type="stmt" count="3"/>
<line num="27" type="stmt" count="3"/>
<line num="28" type="stmt" count="3"/>
<line num="29" type="stmt" count="3"/>
<line num="30" type="stmt" count="3"/>
<line num="31" type="stmt" count="3"/>
<line num="41" type="method" name="makeFileReports" crap="3" count="3"/>
<line num="43" type="stmt" count="3"/>
<line num="49" type="stmt" count="3"/>
<line num="51" type="stmt" count="1"/>
<line num="52" type="stmt" count="1"/>
<line num="53" type="stmt" count="3"/>
<line num="54" type="stmt" count="2"/>
<line num="55" type="stmt" count="2"/>
<line num="56" type="stmt" count="3"/>
<line num="65" type="method" name="makeFileReportsFromFiles" crap="3.03" count="3"/>
<line num="67" type="stmt" count="3"/>
<line num="69" type="stmt" count="3"/>
<line num="70" type="stmt" count="3"/>
<line num="71" type="stmt" count="3"/>
<line num="72" type="stmt" count="0"/>
<line num="73" type="stmt" count="0"/>
<line num="74" type="stmt" count="3"/>
<line num="76" type="stmt" count="3"/>
<line num="77" type="stmt" count="3"/>
<line num="78" type="stmt" count="3"/>
<line num="79" type="stmt" count="3"/>
<line num="80" type="stmt" count="3"/>
<line num="81" type="stmt" count="3"/>
<line num="90" type="method" name="makeFileReportsFromPackages" crap="2" count="2"/>
<line num="93" type="stmt" count="2"/>
<line num="94" type="stmt" count="2"/>
<line num="95" type="stmt" count="2"/>
<line num="96" type="stmt" count="2"/>
<line num="105" type="method" name="getLineCoverage" crap="4" count="3"/>
<line num="107" type="stmt" count="3"/>
<line num="108" type="stmt" count="3"/>
<line num="109" type="stmt" count="3"/>
<line num="111" type="stmt" count="3"/>
<line num="112" type="stmt" count="3"/>
<line num="113" type="stmt" count="3"/>
<line num="114" type="stmt" count="3"/>
<line num="115" type="stmt" count="3"/>
<line num="116" type="stmt" count="3"/>
<line num="117" type="stmt" count="3"/>
<line num="127" type="method" name="getRelativePath" crap="1" count="3"/>
<line num="129" type="stmt" count="3"/>
<line num="130" type="stmt" count="3"/>
<metrics loc="131" ncloc="75" classes="1" methods="6" coveredmethods="5" conditionals="0"
coveredconditionals="0" statements="45" coveredstatements="43" elements="51"
coveredelements="48"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Parser/Parser.php">
<class name="XMLParser" namespace="Codacy\Coverage\Parser">
<metrics methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11"
coveredstatements="11" elements="12" coveredelements="12"/>
</class>
<line num="40" type="method" name="__construct" crap="3" count="6"/>
<line num="42" type="stmt" count="6"/>
<line num="43" type="stmt" count="4"/>
<line num="44" type="stmt" count="1"/>
<line num="45" type="stmt" count="1"/>
<line num="46" type="stmt" count="3"/>
<line num="48" type="stmt" count="4"/>
<line num="49" type="stmt" count="4"/>
<line num="50" type="stmt" count="2"/>
<line num="52" type="stmt" count="2"/>
<line num="53" type="stmt" count="2"/>
<line num="55" type="stmt" count="4"/>
<metrics loc="57" ncloc="33" classes="1" methods="1" coveredmethods="1" conditionals="0"
coveredconditionals="0" statements="11" coveredstatements="11" elements="12"
coveredelements="12"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php">
<class name="PhpUnitXmlParser" namespace="Codacy\Coverage\Parser">
<metrics methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="41"
coveredstatements="38" elements="47" coveredelements="43"/>
</class>
<line num="32" type="method" name="setDirOfFileXmls" crap="1" count="2"/>
<line num="33" type="stmt" count="2"/>
<line num="34" type="stmt" count="2"/>
<line num="39" type="method" name="getDirOfFileXmls" crap="1" count="2"/>
<line num="40" type="stmt" count="2"/>
<line num="43" type="method" name="makeReport" crap="3.04" count="2"/>
<line num="46" type="stmt" count="2"/>
<line num="48" type="stmt" count="2"/>
<line num="49" type="stmt" count="2"/>
<line num="50" type="stmt" count="2"/>
<line num="51" type="stmt" count="2"/>
<line num="53" type="stmt" count="2"/>
<line num="54" type="stmt" count="2"/>
<line num="56" type="stmt" count="2"/>
<line num="57" type="stmt" count="2"/>
<line num="58" type="stmt" count="2"/>
<line num="59" type="stmt" count="0"/>
<line num="60" type="stmt" count="0"/>
<line num="61" type="stmt" count="0"/>
<line num="64" type="stmt" count="2"/>
<line num="65" type="stmt" count="2"/>
<line num="66" type="stmt" count="2"/>
<line num="67" type="stmt" count="2"/>
<line num="68" type="stmt" count="2"/>
<line num="69" type="stmt" count="2"/>
<line num="77" type="method" name="getLineCoverage" crap="4" count="2"/>
<line num="79" type="stmt" count="2"/>
<line num="80" type="stmt" count="2"/>
<line num="81" type="stmt" count="2"/>
<line num="82" type="stmt" count="2"/>
<line num="83" type="stmt" count="2"/>
<line num="84" type="stmt" count="2"/>
<line num="85" type="stmt" count="2"/>
<line num="86" type="stmt" count="2"/>
<line num="87" type="stmt" count="2"/>
<line num="88" type="stmt" count="2"/>
<line num="90" type="stmt" count="2"/>
<line num="98" type="method" name="getTotalFromPercent" crap="1" count="2"/>
<line num="100" type="stmt" count="2"/>
<line num="101" type="stmt" count="2"/>
<line num="102" type="stmt" count="2"/>
<line num="112" type="method" name="getRelativePath" crap="1" count="2"/>
<line num="115" type="stmt" count="2"/>
<line num="116" type="stmt" count="2"/>
<line num="118" type="stmt" count="2"/>
<line num="120" type="stmt" count="2"/>
<line num="121" type="stmt" count="2"/>
<metrics loc="122" ncloc="73" classes="1" methods="6" coveredmethods="5" conditionals="0"
coveredconditionals="0" statements="41" coveredstatements="38" elements="47"
coveredelements="43"/>
</file>
</package>
<package name="Codacy\Coverage\Report">
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Report/CoverageReport.php">
<class name="CoverageReport" namespace="Codacy\Coverage\Report">
<metrics methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="5"
coveredstatements="5" elements="8" coveredelements="8"/>
</class>
<line num="27" type="method" name="__construct" crap="1" count="4"/>
<line num="29" type="stmt" count="4"/>
<line num="30" type="stmt" count="4"/>
<line num="31" type="stmt" count="4"/>
<line num="36" type="method" name="getTotal" crap="1" count="4"/>
<line num="38" type="stmt" count="4"/>
<line num="44" type="method" name="getFileReports" crap="1" count="4"/>
<line num="46" type="stmt" count="4"/>
<metrics loc="47" ncloc="25" classes="1" methods="3" coveredmethods="3" conditionals="0"
coveredconditionals="0" statements="5" coveredstatements="5" elements="8" coveredelements="8"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Report/FileReport.php">
<class name="FileReport" namespace="Codacy\Coverage\Report">
<metrics methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="7"
coveredstatements="7" elements="11" coveredelements="11"/>
</class>
<line num="33" type="method" name="__construct" crap="1" count="4"/>
<line num="35" type="stmt" count="4"/>
<line num="36" type="stmt" count="4"/>
<line num="37" type="stmt" count="4"/>
<line num="38" type="stmt" count="4"/>
<line num="43" type="method" name="getTotal" crap="1" count="4"/>
<line num="45" type="stmt" count="4"/>
<line num="51" type="method" name="getFileName" crap="1" count="4"/>
<line num="53" type="stmt" count="4"/>
<line num="59" type="method" name="getLineCoverage" crap="1" count="4"/>
<line num="61" type="stmt" count="4"/>
<metrics loc="62" ncloc="33" classes="1" methods="4" coveredmethods="4" conditionals="0"
coveredconditionals="0" statements="7" coveredstatements="7" elements="11"
coveredelements="11"/>
</file>
</package>
<package name="Codacy\Coverage\Util">
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Util/GitClient.php">
<class name="GitClient" namespace="Codacy\Coverage\Util">
<metrics methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="9"
coveredstatements="6" elements="11" coveredelements="7"/>
</class>
<line num="23" type="method" name="__construct" crap="2.31" count="1"/>
<line num="25" type="stmt" count="1"/>
<line num="26" type="stmt" count="1"/>
<line num="27" type="stmt" count="1"/>
<line num="28" type="stmt" count="0"/>
<line num="30" type="stmt" count="0"/>
<line num="31" type="stmt" count="0"/>
<line num="34" type="stmt" count="1"/>
<line num="39" type="method" name="getHashOfLatestCommit" crap="1" count="1"/>
<line num="41" type="stmt" count="1"/>
<line num="42" type="stmt" count="1"/>
<metrics loc="45" ncloc="31" classes="1" methods="2" coveredmethods="1" conditionals="0"
coveredconditionals="0" statements="9" coveredstatements="6" elements="11"
coveredelements="7"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Util/JsonProducer.php">
<class name="JsonProducer" namespace="Codacy\Coverage\Util">
<metrics methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="17"
coveredstatements="17" elements="20" coveredelements="20"/>
</class>
<line num="23" type="method" name="setParser" crap="1" count="1"/>
<line num="25" type="stmt" count="1"/>
<line num="26" type="stmt" count="1"/>
<line num="32" type="method" name="makeReport" crap="1" count="1"/>
<line num="34" type="stmt" count="1"/>
<line num="60" type="method" name="makeJson" crap="2" count="1"/>
<line num="62" type="stmt" count="1"/>
<line num="63" type="stmt" count="1"/>
<line num="64" type="stmt" count="1"/>
<line num="66" type="stmt" count="1"/>
<line num="67" type="stmt" count="1"/>
<line num="69" type="stmt" count="1"/>
<line num="70" type="stmt" count="1"/>
<line num="71" type="stmt" count="1"/>
<line num="72" type="stmt" count="1"/>
<line num="73" type="stmt" count="1"/>
<line num="75" type="stmt" count="1"/>
<line num="76" type="stmt" count="1"/>
<line num="78" type="stmt" count="1"/>
<line num="81" type="stmt" count="1"/>
<metrics loc="82" ncloc="41" classes="1" methods="3" coveredmethods="3" conditionals="0"
coveredconditionals="0" statements="17" coveredstatements="17" elements="20"
coveredelements="20"/>
</file>
<file name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage/Util/EmptyFile.php">
<class name="EmptyFile" namespace="Codacy\Coverage\Util">
<metrics methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17"
coveredstatements="0" elements="20" coveredelements="0"/>
</class>
<metrics loc="82" ncloc="41" classes="1" methods="3" coveredmethods="0" conditionals="0"
coveredconditionals="0" statements="17" coveredstatements="0" elements="20"
coveredelements="0"/>
</file>
</package>
<metrics files="7" loc="546" ncloc="311" classes="7" methods="25" coveredmethods="22" conditionals="0"
coveredconditionals="0" statements="135" coveredstatements="127" elements="160" coveredelements="149"/>
</project>
</coverage>

View File

@ -0,0 +1,185 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<project name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage">
<tests>
<test name="CloverParserTest::testThrowsExceptionOnWrongPath" result="0" status="PASSED"/>
<test name="CloverParserTest::testCanParseCloverXmlWithoutProject" result="0" status="PASSED"/>
<test name="CloverParserTest::testCanParseCloverXmlWithProject" result="0" status="PASSED"/>
<test name="Codacy\Coverage\Parser\ParserTest::testParsersProduceSameResult" result="0" status="PASSED"/>
<test name="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath" result="0" status="PASSED"/>
<test name="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport" result="0" status="PASSED"/>
<test name="GitClientTest::testGetHashOfLastCommit" result="0" status="PASSED"/>
</tests>
<directory name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage">
<totals>
<lines total="546" comments="235" code="311" executable="135" executed="127" percent="94.07%"/>
<methods count="25" tested="22" percent="88.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="7" tested="4" percent="57.14%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<directory name="Parser">
<totals>
<lines total="310" comments="129" code="181" executable="97" executed="92" percent="94.85%"/>
<methods count="13" tested="11" percent="84.62%"/>
<functions count="0" tested="0" percent=""/>
<classes count="3" tested="1" percent="33.33%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<file name="CloverParser.php" href="Parser/CloverParser.php.xml">
<totals>
<lines total="131" comments="56" code="75" executable="45" executed="43" percent="95.56%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="Parser.php" href="Parser/Parser.php.xml">
<totals>
<lines total="57" comments="24" code="33" executable="11" executed="11" percent="100.00%"/>
<methods count="1" tested="1" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="PhpUnitXmlParser.php" href="Parser/PhpUnitXmlParser.php.xml">
<totals>
<lines total="122" comments="49" code="73" executable="41" executed="38" percent="92.68%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
<file name="CloverParser.php" href="Parser/CloverParser.php.xml">
<totals>
<lines total="131" comments="56" code="75" executable="45" executed="43" percent="95.56%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="Parser.php" href="Parser/Parser.php.xml">
<totals>
<lines total="57" comments="24" code="33" executable="11" executed="11" percent="100.00%"/>
<methods count="1" tested="1" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="PhpUnitXmlParser.php" href="Parser/PhpUnitXmlParser.php.xml">
<totals>
<lines total="122" comments="49" code="73" executable="41" executed="38" percent="92.68%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<directory name="Report">
<totals>
<lines total="109" comments="51" code="58" executable="12" executed="12" percent="100.00%"/>
<methods count="7" tested="7" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="2" tested="2" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<file name="CoverageReport.php" href="Report/CoverageReport.php.xml">
<totals>
<lines total="47" comments="22" code="25" executable="5" executed="5" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="FileReport.php" href="Report/FileReport.php.xml">
<totals>
<lines total="62" comments="29" code="33" executable="7" executed="7" percent="100.00%"/>
<methods count="4" tested="4" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
<file name="CoverageReport.php" href="Report/CoverageReport.php.xml">
<totals>
<lines total="47" comments="22" code="25" executable="5" executed="5" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="FileReport.php" href="Report/FileReport.php.xml">
<totals>
<lines total="62" comments="29" code="33" executable="7" executed="7" percent="100.00%"/>
<methods count="4" tested="4" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<directory name="Util">
<totals>
<lines total="127" comments="55" code="72" executable="26" executed="23" percent="88.46%"/>
<methods count="5" tested="4" percent="80.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="2" tested="1" percent="50.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<file name="GitClient.php" href="Util/GitClient.php.xml">
<totals>
<lines total="45" comments="14" code="31" executable="9" executed="6" percent="66.67%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="JsonProducer.php" href="Util/JsonProducer.php.xml">
<totals>
<lines total="82" comments="41" code="41" executable="17" executed="17" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
<file name="GitClient.php" href="Util/GitClient.php.xml">
<totals>
<lines total="45" comments="14" code="31" executable="9" executed="6" percent="66.67%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="JsonProducer.php" href="Util/JsonProducer.php.xml">
<totals>
<lines total="82" comments="41" code="41" executable="17" executed="17" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="EmptyFile.php" href="Util/EmptyFile.php.xml">
<totals>
<lines total="82" comments="41" code="41" executable="17" executed="0" percent=""/>
<methods count="3" tested="0" percent=""/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent=""/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
</project>
</phpunit>

View File

@ -0,0 +1,17 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="Api.php">
<totals>
<lines total="46" comments="11" code="35" executable="22" executed="0" percent="0.00%"/>
<methods count="1" tested="0" percent="0.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="ApiClient" start="9" executable="22" executed="0" crap="12">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage\Api"/>
<method name="postData" signature="postData($url, $data)" start="18" end="46" crap="12" executable="22" executed="0" coverage="0"/>
</class>
</file>
</phpunit>

View File

@ -0,0 +1,17 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="CodacyPhpCoverage.php">
<totals>
<lines total="68" comments="16" code="52" executable="26" executed="0" percent="0.00%"/>
<methods count="1" tested="0" percent="0.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="CodacyPhpCoverage" start="13" executable="25" executed="0" crap="12">
<package full="" name="" sub="" category=""/>
<namespace name="Codacy\Coverage"/>
<method name="doIt" signature="doIt()" start="16" end="66" crap="12" executable="25" executed="0" coverage="0"/>
</class>
</file>
</phpunit>

View File

@ -0,0 +1,56 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="Config.php">
<totals>
<lines total="34" comments="11" code="23" executable="7" executed="6" percent="85.71%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="Config" start="10" executable="7" executed="6" crap="2.01">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage"/>
<method name="loadConfig" signature="loadConfig()" start="22" end="29" crap="1" executable="6" executed="6" coverage="100"/>
<method name="__construct" signature="__construct()" start="31" end="34" crap="2" executable="1" executed="0" coverage="0"/>
</class>
<coverage>
<line nr="24">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="25">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="26">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="27">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="28">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="29">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,38 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="GitClient.php">
<totals>
<lines total="46" comments="15" code="31" executable="8" executed="6" percent="75.00%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="GitClient" start="13" executable="8" executed="6" crap="3.14">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage\Git"/>
<method name="__construct" signature="__construct($path)" start="24" end="35" crap="2.15" executable="6" executed="4" coverage="66.666666666667"/>
<method name="getHashOfLatestCommit" signature="getHashOfLatestCommit()" start="40" end="44" crap="1" executable="2" executed="2" coverage="100"/>
</class>
<coverage>
<line nr="26">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="27">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="28">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="35">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="42">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
<line nr="43">
<covered by="GitClientTest::testGetHashOfLastCommit"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,224 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="CloverParser.php">
<totals>
<lines total="134" comments="60" code="74" executable="44" executed="42" percent="95.45%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="CloverParser" start="16" executable="44" executed="42" crap="14">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage\Parser"/>
<method name="makeReport" signature="makeReport()" start="25" end="35" crap="1" executable="8" executed="8" coverage="100"/>
<method name="_makeFileReports" signature="_makeFileReports(\SimpleXMLElement $node)" start="44" end="60" crap="3" executable="8" executed="8" coverage="100"/>
<method name="_makeFileReportsFromFiles" signature="_makeFileReportsFromFiles(\SimpleXMLElement $node, $fileReports)" start="68" end="85" crap="3.03" executable="13" executed="11" coverage="84.615384615385"/>
<method name="_makeFileReportsFromPackages" signature="_makeFileReportsFromPackages(\SimpleXMLElement $node, $fileReports)" start="93" end="100" crap="2" executable="4" executed="4" coverage="100"/>
<method name="_getLineCoverage" signature="_getLineCoverage(\SimpleXMLElement $node)" start="108" end="121" crap="4" executable="9" executed="9" coverage="100"/>
<method name="_getRelativePath" signature="_getRelativePath(\SimpleXMLElement $fileName)" start="130" end="134" crap="1" executable="2" executed="2" coverage="100"/>
</class>
<coverage>
<line nr="27">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="28">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="29">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="30">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="31">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="32">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="33">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="34">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="46">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="52">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="54">
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
</line>
<line nr="55">
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
</line>
<line nr="56">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="57">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="58">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="59">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="70">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="72">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="73">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="74">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="77">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="79">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="80">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="81">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="82">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="83">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="84">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="96">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="97">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="98">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="99">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="110">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="111">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="113">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="115">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="116">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="117">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="118">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="119">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="120">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="132">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="133">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,57 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="Parser.php">
<totals>
<lines total="46" comments="20" code="26" executable="7" executed="7" percent="100.00%"/>
<methods count="1" tested="1" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="XMLParser" start="22" executable="7" executed="7" crap="2">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage\Parser"/>
<method name="__construct" signature="__construct($path)" start="34" end="44" crap="2" executable="7" executed="7" coverage="100"/>
</class>
<coverage>
<line nr="36">
<covered by="CloverParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="37">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="38">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="39">
<covered by="CloverParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath"/>
</line>
<line nr="41">
<covered by="CloverParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath"/>
</line>
<line nr="42">
<covered by="CloverParserTest::testThrowsExceptionOnWrongPath"/>
<covered by="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath"/>
</line>
<line nr="44">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,118 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="PhpUnitXmlParser.php">
<totals>
<lines total="104" comments="42" code="62" executable="34" executed="32" percent="94.12%"/>
<methods count="4" tested="3" percent="75.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="PhpUnitXmlParser" start="18" executable="34" executed="32" crap="8.01">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage\Parser"/>
<method name="makeReport" signature="makeReport()" start="30" end="58" crap="3.01" executable="18" executed="16" coverage="88.888888888889"/>
<method name="_getLineCoverage" signature="_getLineCoverage(\SimpleXMLElement $node)" start="65" end="77" crap="3" executable="9" executed="9" coverage="100"/>
<method name="_getTotalFromPercent" signature="_getTotalFromPercent(\SimpleXMLElement $percent)" start="84" end="89" crap="1" executable="3" executed="3" coverage="100"/>
<method name="_getRelativePath" signature="_getRelativePath(\SimpleXMLElement $fileName)" start="97" end="104" crap="1" executable="4" executed="4" coverage="100"/>
</class>
<coverage>
<line nr="33">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="34">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="35">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="36">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="38">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="39">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="42">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="43">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="44">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="51">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="52">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="53">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="54">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="55">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="56">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="57">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="67">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="68">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="70">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="71">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="72">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="73">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="74">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="75">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="76">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="86">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="87">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="88">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="99">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="100">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="102">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
<line nr="103">
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,51 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="CoverageReport.php">
<totals>
<lines total="48" comments="23" code="25" executable="5" executed="5" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="CoverageReport" start="12" executable="5" executed="5" crap="3">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage\Report"/>
<method name="__construct" signature="__construct($total, $fileReports)" start="28" end="32" crap="1" executable="3" executed="3" coverage="100"/>
<method name="getTotal" signature="getTotal()" start="37" end="40" crap="1" executable="1" executed="1" coverage="100"/>
<method name="getFileReports" signature="getFileReports()" start="45" end="48" crap="1" executable="1" executed="1" coverage="100"/>
</class>
<coverage>
<line nr="30">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="31">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="32">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="39">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="47">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,64 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="FileReport.php">
<totals>
<lines total="63" comments="30" code="33" executable="7" executed="7" percent="100.00%"/>
<methods count="4" tested="4" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="FileReport" start="12" executable="7" executed="7" crap="4">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage\Report"/>
<method name="__construct" signature="__construct($total, $fileName, $lineCoverage)" start="34" end="39" crap="1" executable="4" executed="4" coverage="100"/>
<method name="getTotal" signature="getTotal()" start="44" end="47" crap="1" executable="1" executed="1" coverage="100"/>
<method name="getFileName" signature="getFileName()" start="52" end="55" crap="1" executable="1" executed="1" coverage="100"/>
<method name="getLineCoverage" signature="getLineCoverage()" start="60" end="63" crap="1" executable="1" executed="1" coverage="100"/>
</class>
<coverage>
<line nr="36">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="37">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="38">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="39">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="46">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="54">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="62">
<covered by="CloverParserTest::testCanParseCloverXmlWithoutProject"/>
<covered by="CloverParserTest::testCanParseCloverXmlWithProject"/>
<covered by="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport"/>
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,72 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<file name="JsonProducer.php">
<totals>
<lines total="61" comments="21" code="40" executable="17" executed="17" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<class name="JsonProducer" start="13" executable="17" executed="17" crap="4">
<package full="Codacy" name="Codacy" sub="" category=""/>
<namespace name="Codacy\Coverage\Report"/>
<method name="setParser" signature="setParser(IParser $parser)" start="24" end="27" crap="1" executable="2" executed="2" coverage="100"/>
<method name="makeReport" signature="makeReport()" start="33" end="36" crap="1" executable="1" executed="1" coverage="100"/>
<method name="makeJson" signature="makeJson()" start="42" end="61" crap="2" executable="14" executed="14" coverage="100"/>
</class>
<coverage>
<line nr="26">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="27">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="35">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="44">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="45">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="46">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="48">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="49">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="51">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="52">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="53">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="54">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="55">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="57">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="58">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="59">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
<line nr="60">
<covered by="JsonProducerTest::testCanProduceCorrectJson"/>
</line>
</coverage>
</file>
</phpunit>

View File

@ -0,0 +1,221 @@
<?xml version="1.0"?>
<phpunit xmlns="http://schema.phpunit.de/coverage/1.0">
<project name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage">
<tests>
<test name="GitClientTest::testGetHashOfLastCommit" result="0" status="PASSED"/>
<test name="CloverParserTest::testThrowsExceptionOnWrongPath" result="0" status="PASSED"/>
<test name="CloverParserTest::testCanParseCloverXmlWithoutProject" result="0" status="PASSED"/>
<test name="CloverParserTest::testCanParseCloverXmlWithProject" result="0" status="PASSED"/>
<test name="PhpUnitXmlParserTest::testThrowsExceptionOnWrongPath" result="0" status="PASSED"/>
<test name="PhpUnitXmlParserTest::testCanParsePhpUnitXmlReport" result="0" status="PASSED"/>
<test name="JsonProducerTest::testCanProduceCorrectJson" result="0" status="PASSED"/>
</tests>
<directory name="/home/jacke/Desktop/codacy-php/src/Codacy/Coverage">
<totals>
<lines total="650" comments="249" code="401" executable="177" executed="122" percent="68.93%"/>
<methods count="27" tested="21" percent="77.78%"/>
<functions count="0" tested="0" percent=""/>
<classes count="10" tested="4" percent="40.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<directory name="Api">
<totals>
<lines total="46" comments="11" code="35" executable="22" executed="0" percent="0.00%"/>
<methods count="1" tested="0" percent="0.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<file name="Api.php" href="Api/Api.php.xml">
<totals>
<lines total="46" comments="11" code="35" executable="22" executed="0" percent="0.00%"/>
<methods count="1" tested="0" percent="0.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
<file name="Api.php" href="Api/Api.php.xml">
<totals>
<lines total="46" comments="11" code="35" executable="22" executed="0" percent="0.00%"/>
<methods count="1" tested="0" percent="0.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="CodacyPhpCoverage.php" href="CodacyPhpCoverage.php.xml">
<totals>
<lines total="68" comments="16" code="52" executable="26" executed="0" percent="0.00%"/>
<methods count="1" tested="0" percent="0.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="Config.php" href="Config.php.xml">
<totals>
<lines total="34" comments="11" code="23" executable="7" executed="6" percent="85.71%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<directory name="Git">
<totals>
<lines total="46" comments="15" code="31" executable="8" executed="6" percent="75.00%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<file name="GitClient.php" href="Git/GitClient.php.xml">
<totals>
<lines total="46" comments="15" code="31" executable="8" executed="6" percent="75.00%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
<file name="GitClient.php" href="Git/GitClient.php.xml">
<totals>
<lines total="46" comments="15" code="31" executable="8" executed="6" percent="75.00%"/>
<methods count="2" tested="1" percent="50.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<directory name="Parser">
<totals>
<lines total="284" comments="122" code="162" executable="85" executed="81" percent="95.29%"/>
<methods count="11" tested="9" percent="81.82%"/>
<functions count="0" tested="0" percent=""/>
<classes count="3" tested="1" percent="33.33%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<file name="CloverParser.php" href="Parser/CloverParser.php.xml">
<totals>
<lines total="134" comments="60" code="74" executable="44" executed="42" percent="95.45%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="Parser.php" href="Parser/Parser.php.xml">
<totals>
<lines total="46" comments="20" code="26" executable="7" executed="7" percent="100.00%"/>
<methods count="1" tested="1" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="PhpUnitXmlParser.php" href="Parser/PhpUnitXmlParser.php.xml">
<totals>
<lines total="104" comments="42" code="62" executable="34" executed="32" percent="94.12%"/>
<methods count="4" tested="3" percent="75.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
<file name="CloverParser.php" href="Parser/CloverParser.php.xml">
<totals>
<lines total="134" comments="60" code="74" executable="44" executed="42" percent="95.45%"/>
<methods count="6" tested="5" percent="83.33%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="Parser.php" href="Parser/Parser.php.xml">
<totals>
<lines total="46" comments="20" code="26" executable="7" executed="7" percent="100.00%"/>
<methods count="1" tested="1" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="PhpUnitXmlParser.php" href="Parser/PhpUnitXmlParser.php.xml">
<totals>
<lines total="104" comments="42" code="62" executable="34" executed="32" percent="94.12%"/>
<methods count="4" tested="3" percent="75.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="0" percent="0.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<directory name="Report">
<totals>
<lines total="172" comments="74" code="98" executable="29" executed="29" percent="100.00%"/>
<methods count="10" tested="10" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="3" tested="3" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
<file name="CoverageReport.php" href="Report/CoverageReport.php.xml">
<totals>
<lines total="48" comments="23" code="25" executable="5" executed="5" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="FileReport.php" href="Report/FileReport.php.xml">
<totals>
<lines total="63" comments="30" code="33" executable="7" executed="7" percent="100.00%"/>
<methods count="4" tested="4" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="JsonProducer.php" href="Report/JsonProducer.php.xml">
<totals>
<lines total="61" comments="21" code="40" executable="17" executed="17" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
<file name="CoverageReport.php" href="Report/CoverageReport.php.xml">
<totals>
<lines total="48" comments="23" code="25" executable="5" executed="5" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="FileReport.php" href="Report/FileReport.php.xml">
<totals>
<lines total="63" comments="30" code="33" executable="7" executed="7" percent="100.00%"/>
<methods count="4" tested="4" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
<file name="JsonProducer.php" href="Report/JsonProducer.php.xml">
<totals>
<lines total="61" comments="21" code="40" executable="17" executed="17" percent="100.00%"/>
<methods count="3" tested="3" percent="100.00%"/>
<functions count="0" tested="0" percent=""/>
<classes count="1" tested="1" percent="100.00%"/>
<traits count="0" tested="0" percent=""/>
</totals>
</file>
</directory>
</project>
</phpunit>

View File

@ -1 +0,0 @@
theme: jekyll-theme-merlot