export() public static method

Exports a coverage to a Istanbul compatible JSON format.
public static export ( array $options ) : string
$options array The option array where the possible values are: -`'collector'` _object_ : The collector instance.
return string
Beispiel #1
0
            $json = Istanbul::export(['collector' => $collector, 'base_path' => DS . 'home' . DS . 'crysalead' . DS . 'kahlan']);
            $ds = DS;
            $expected = <<<EOD
{"\\/home\\/crysalead\\/kahlan\\/spec\\/Fixture\\/Reporter\\/Coverage\\/NoEmptyLine.php":{"path":"\\/home\\/crysalead\\/kahlan\\/spec\\/Fixture\\/Reporter\\/Coverage\\/NoEmptyLine.php","s":{"1":1,"2":0,"3":1,"4":0},"f":{"1":1},"b":[],"statementMap":{"1":{"start":{"line":8,"column":0},"end":{"line":8,"column":31}},"2":{"start":{"line":10,"column":0},"end":{"line":10,"column":34}},"3":{"start":{"line":12,"column":0},"end":{"line":12,"column":30}},"4":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}}},"fnMap":{"1":{"name":"shallNotPass","line":6,"loc":{"start":{"line":6,"column":0},"end":{"line":14,"column":false}}}},"branchMap":[]}}
EOD;
            expect($json)->toBe($expected);
        });
        it("exports the coverage of a file with an extra line at the end", function () {
            $path = 'spec' . DS . 'Fixture' . DS . 'Reporter' . DS . 'Coverage' . DS . 'ExtraEmptyLine.php';
            $collector = new Collector(['driver' => $this->driver, 'path' => $path]);
            $code = new ExtraEmptyLine();
            $collector->start();
            $code->shallNotPass();
            $collector->stop();
            $time = time();
            $json = Istanbul::export(['collector' => $collector, 'base_path' => DS . 'home' . DS . 'crysalead' . DS . 'kahlan']);
            $ds = DS;
            $expected = <<<EOD
{"\\/home\\/crysalead\\/kahlan\\/spec\\/Fixture\\/Reporter\\/Coverage\\/ExtraEmptyLine.php":{"path":"\\/home\\/crysalead\\/kahlan\\/spec\\/Fixture\\/Reporter\\/Coverage\\/ExtraEmptyLine.php","s":{"1":1,"2":0,"3":1,"4":0},"f":{"1":1},"b":[],"statementMap":{"1":{"start":{"line":8,"column":0},"end":{"line":8,"column":31}},"2":{"start":{"line":10,"column":0},"end":{"line":10,"column":34}},"3":{"start":{"line":12,"column":0},"end":{"line":12,"column":30}},"4":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}}},"fnMap":{"1":{"name":"shallNotPass","line":6,"loc":{"start":{"line":6,"column":0},"end":{"line":14,"column":false}}}},"branchMap":[]}}
EOD;
            expect($json)->toBe($expected);
        });
    });
    describe("::write()", function () {
        beforeEach(function () {
            $this->output = tempnam("/tmp", "KAHLAN");
        });
        afterEach(function () {
            unlink($this->output);
        });
        it("writes the coverage to a file", function () {