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 () {