kahlan\cli\Kahlan::_coverage PHP Method

_coverage() protected method

The default 'coverage' filter.
protected _coverage ( )
    protected function _coverage()
    {
        return Filter::on($this, 'coverage', [], function ($chain) {
            if (!$this->commandLine()->exists('coverage')) {
                return;
            }
            $reporters = $this->reporters();
            $driver = null;
            if (PHP_SAPI === 'phpdbg') {
                $driver = new Phpdbg();
            } elseif (extension_loaded('xdebug')) {
                $driver = new Xdebug();
            } else {
                fwrite(STDERR, "ERROR: PHPDBG SAPI has not been detected and Xdebug is not installed, code coverage can't be used.\n");
                exit(-1);
            }
            $srcDirs = $this->commandLine()->get('src');
            foreach ($srcDirs as $dir) {
                if (!file_exists($dir)) {
                    fwrite(STDERR, "ERROR: unexisting `{$dir}` directory, use --src option to set a valid one (ex: --src=app).\n");
                    exit(-1);
                }
            }
            $coverage = new Coverage(['verbosity' => $this->commandLine()->get('coverage') === null ? 1 : $this->commandLine()->get('coverage'), 'driver' => $driver, 'path' => $srcDirs, 'colors' => !$this->commandLine()->get('no-colors')]);
            $reporters->add('coverage', $coverage);
        });
    }