Kahlan\Reporter\Coverage\Collector::export PHP Method

export() public method

Exports coverage data.
public export ( $file = null ) : array
return array The coverage data.
    public function export($file = null)
    {
        if ($file) {
            return isset($this->_coverage[$file]) ? $this->_coverage($file, $this->_coverage[$file]) : [];
        }
        $result = [];
        $base = preg_quote($this->base(), '~');
        foreach ($this->_coverage as $file => $rawCoverage) {
            if ($coverage = $this->_coverage($file, $rawCoverage)) {
                $result[preg_replace("~^{$base}~", '', $file)] = $coverage;
            }
        }
        return $result;
    }

Usage Example

Beispiel #1
0
 it("ignores interfaces metrics", function () {
     $path = ['spec/Fixture/Reporter/Coverage/ImplementsCoverage.php', 'spec/Fixture/Reporter/Coverage/ImplementsCoverageInterface.php'];
     $collector = new Collector(['driver' => $this->driver, 'path' => $path]);
     $code = new ImplementsCoverage();
     $collector->start();
     $code->foo();
     $collector->stop();
     $metrics = $collector->metrics();
     $actual = $metrics->get('Kahlan\\Spec\\Fixture\\Reporter\\Coverage\\ImplementsCoverage')->data();
     $files = $actual['files'];
     unset($actual['files']);
     expect($actual)->toBe(['loc' => 6, 'nlloc' => 5, 'lloc' => 1, 'cloc' => 1, 'coverage' => 1, 'methods' => 1, 'cmethods' => 1, 'percent' => 100]);
     $path = realpath('spec/Fixture/Reporter/Coverage/ImplementsCoverage.php');
     expect(isset($files[$path]))->toBe(true);
     expect($metrics->get('Kahlan\\Spec\\Fixture\\Reporter\\Coverage\\ImplementsCoverageInterface'))->toBe(null);
     expect($collector->export())->toBe([str_replace('/', DS, 'spec/Fixture/Reporter/Coverage/ImplementsCoverage.php') => [7 => 1]]);
 });
 describe("->children()", function () {
     beforeEach(function () {
         $code = new ExtraEmptyLine();
         $this->collector->start();
         $code->shallNotPass();
         $this->collector->stop();
         $this->metrics = $this->collector->metrics();
     });
     it("returns root's children", function () {
         $children = $this->metrics->children();
         expect(is_array($children))->toBe(true);
         expect(isset($children['Kahlan\\']))->toBe(true);
     });
     it("returns specified child", function () {