composer update

This commit is contained in:
Manish Verma
2018-12-05 10:50:52 +05:30
parent 9eabcacfa7
commit 4addd1e9c6
3328 changed files with 156676 additions and 138988 deletions

View File

@@ -0,0 +1,47 @@
### Are you looking for help?
This is an issue tracker, used to manage and track the development of this [Codacy](https://www.codacy.com/) project.
It is not a platform support system. If think your problem is related with our platform at https://www.codacy.com/, please contact us through our [contact form](https://www.codacy.com/contact) or our internal chat application, visible after you login on the bottom right corner.
Keep in mind that this issue tracker is for specific problems of this project.
### PHP Version
### Test framework
### Operating System (Ubuntu 15.10 / MacOS 10.10 / Windows 10)
Use `uname -a` if on Linux.
### Library Dependencies
If this is an issue that involves integration with another system, include the exact version and OS of the other system, including any intermediate drivers or APIs i.e. if you connect to a PostgreSQL database, include both the version / OS of PostgreSQL and the JDBC driver version used to connect to the database.
### Expected Behavior
Please describe the expected behavior of the issue, starting from the first action.
1.
2.
3.
### Actual Behavior
Please provide a description of what actually happens, working from the same starting point.
Be descriptive: "it doesn't work" does not describe what the behavior actually is -- instead, say "when running this sequence of commands (...) it returns an error: (...).." Copy and paste logs, and include any URLs.
1.
2.
3.
### Reproducible Test Case
Please provide a some information on how to reproduce the bug. A PR with a failing test would be awesome, if possible.
If the issue is more complex or requires configuration, please provide a link to a project on Github/Codacy that reproduces the issue.

10
vendor/codacy/coverage/.gitignore vendored Normal file
View File

@@ -0,0 +1,10 @@
.idea
*.iml
/vendor/
/build/
composer.phar
vendor/
# Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
composer.lock

18
vendor/codacy/coverage/.travis.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
language: php
php:
- '7.0'
- '7.1'
- '7.2'
- nightly
before_script:
# In case of timeouts and build failures you may want to prepend 'travis_retry' to the following commands:
- composer install -n
# Explicitly use the phpunit from composer, not any system-wide found
script:
- php vendor/bin/phpunit --coverage-clover build/coverage/xml tests
after_success:
- php vendor/bin/codacycoverage clover build/coverage/xml

21
vendor/codacy/coverage/LICENSE vendored Normal file
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.

170
vendor/codacy/coverage/README.md vendored Normal file
View File

@@ -0,0 +1,170 @@
[![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)
- [Only for PHPUnit <4] 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
```
## Alternative Installation (using phar)
Setup codacy-coverage as phar, you can simply download a pre-compiled and ready-to-use version as a phar to any directory. Simply download the latest `codacy-coverage.phar` file from our [releases page](https://github.com/codacy/php-codacy-coverage/releases):
[Latest release](https://github.com/codacy/php-codacy-coverage/releases/latest)
That's it already.
## 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
# Do not forget to provide your CODACY_PROJECT_TOKEN as described in https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings
php:
- 5.3
- 5.4
- 5.5
- 5.6
- hhvm
# In case of timeouts and build failures you may want to prepend 'travis_retry' to the following commands:
before_script:
- curl -s http://getcomposer.org/installer | php
- php composer.phar install -n
script:
- php vendor/bin/phpunit --coverage-clover build/coverage/xml
after_script:
- php vendor/bin/codacycoverage clover build/coverage/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)

29
vendor/codacy/coverage/bin/codacycoverage vendored Executable file
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();

9
vendor/codacy/coverage/box.json vendored Normal file
View File

@@ -0,0 +1,9 @@
{
"directories": [
"src",
"vendor"
],
"main": "bin/codacycoverage",
"output": "build/codacy-coverage.phar",
"stub": true
}

26
vendor/codacy/coverage/circle.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
machine:
php:
version: 7.1.6
dependencies:
pre:
- curl -s http://getcomposer.org/installer | php
- php composer.phar install -n
- go get github.com/aktau/github-release
- wget -O box.phar https://github.com/box-project/box2/releases/download/2.7.5/box-2.7.5.phar
test:
post:
- php vendor/bin/phpunit --coverage-clover build/coverage/xml tests
deployment:
master:
branch: master
commands:
- php bin/codacycoverage clover build/coverage/xml
release:
tag: /[0-9]+(\.[0-9]+)*/
commands:
- php -d phar.readonly=0 box.phar build
- git config user.name $CIRCLE_PROJECT_USERNAME
- github-release upload --user $CIRCLE_PROJECT_USERNAME --repo $CIRCLE_PROJECT_REPONAME --tag $CIRCLE_TAG --name codacy-coverage.phar --file build/codacy-coverage.phar

27
vendor/codacy/coverage/composer.json vendored Normal file
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": ">=1.0",
"symfony/console": "~2.5|~3.0|~4.0"
},
"require-dev": {
"phpunit/phpunit": "~6.5"
},
"bin": ["bin/codacycoverage"],
"autoload": {
"classmap": [
"src/"
]
},
"license": "MIT",
"authors": [
{
"name": "Jakob Pupke",
"email": "jakob.pupke@gmail.com"
}
]
}

34
vendor/codacy/coverage/phpunit.xml.dist vendored Normal file
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') {
$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,121 @@
<?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();
$nr = (string)$line["nr"];
$lineCoverage->$nr = $count;
}
}
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,85 @@
<?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)
{
$tempCertFile = $this->dumpCertificateBundle();
$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_CAINFO, $tempCertFile);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$json_response = curl_exec($curl);
unlink($tempCertFile);
$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'];
}
}
/**
* Store certificate bundle to temporary file to be available when used within phar context
*
* @return string Full qualified path to temporary file
*/
protected function dumpCertificateBundle()
{
$tempCertFile = tempnam(sys_get_temp_dir(), 'cacert');
copy(dirname(__FILE__) . '/cacert.pem', $tempCertFile);
return $tempCertFile;
}
}

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));
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,63 @@
<?php
use Codacy\Coverage\Parser\CloverParser;
class CloverParserTest extends \PHPUnit\Framework\TestCase
{
public function testThrowsExceptionOnWrongPath()
{
$this->expectException('InvalidArgumentException');
$this->expectExceptionMessage('Unable to load the xml file. Make sure path is properly set. Using: "/home/foo/bar/baz/m.xml"');
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,
19 => 0, 30 => 0, 31 => 0, 32 => 0, 33 => 0, 36 => 0, 39 => 0, 42 => 0);
$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,44 @@
<?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);
}
public function testConstructorOnNullRootDir()
{
$parser = new PhpUnitXmlParser('tests/res/phpunitxml/index.xml');
$parser->setDirOfFileXmls("tests/res/phpunitxml");
$report = $parser->makeReport();
$this->assertEquals(69, $report->getTotal());
$this->assertEquals(10, sizeof($report->getFileReports()));
}
}

View File

@@ -0,0 +1,59 @@
<?php
use Codacy\Coverage\Parser\PhpUnitXmlParser;
class PhpUnitXmlParserTest extends \PHPUnit\Framework\TestCase
{
public function testThrowsExceptionOnWrongPath()
{
$this->expectException('InvalidArgumentException');
new PhpUnitXmlParser("/home/foo/bar/baz/fake.xml");
}
public function testMakeReportThrowsExceptionOnWrndPath()
{
$parser = new PhpUnitXmlParser('tests/res/phpunitxml/index.xml', '/home/jacke/Desktop/codacy-php');
$this->expectException('InvalidArgumentException');
$parser->makeReport();
}
/**
* 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,187 @@
{
"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,
"72": 0,
"73": 0,
"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,
"59": 0,
"60": 0,
"61": 0,
"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,
"28": 0,
"30": 0,
"31": 0,
"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,231 @@
<?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="72" />
<line nr="73" />
<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,179 @@
<?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="59"/>
<line nr="60"/>
<line nr="61"/>
<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,41 @@
<?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="28"/>
<line nr="30"/>
<line nr="31"/>
<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>