f4e5a0f95bf4e216502b8a2bfb6b7854144c7d46
[yaffs-website] / vendor / phpunit / php-code-coverage / src / CodeCoverage / Report / PHP.php
1 <?php
2 /*
3  * This file is part of the PHP_CodeCoverage package.
4  *
5  * (c) Sebastian Bergmann <sebastian@phpunit.de>
6  *
7  * For the full copyright and license information, please view the LICENSE
8  * file that was distributed with this source code.
9  */
10
11 /**
12  * Uses var_export() to write a PHP_CodeCoverage object to a file.
13  *
14  * @since Class available since Release 1.1.0
15  */
16 class PHP_CodeCoverage_Report_PHP
17 {
18     /**
19      * @param  PHP_CodeCoverage $coverage
20      * @param  string           $target
21      * @return string
22      */
23     public function process(PHP_CodeCoverage $coverage, $target = null)
24     {
25         $filter = $coverage->filter();
26
27         $output = sprintf(
28             '<?php
29 $coverage = new PHP_CodeCoverage;
30 $coverage->setData(%s);
31 $coverage->setTests(%s);
32
33 $filter = $coverage->filter();
34 $filter->setBlacklistedFiles(%s);
35 $filter->setWhitelistedFiles(%s);
36
37 return $coverage;',
38             var_export($coverage->getData(true), 1),
39             var_export($coverage->getTests(), 1),
40             var_export($filter->getBlacklistedFiles(), 1),
41             var_export($filter->getWhitelistedFiles(), 1)
42         );
43
44         if ($target !== null) {
45             return file_put_contents($target, $output);
46         } else {
47             return $output;
48         }
49     }
50 }