X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=vendor%2Fbehat%2Fbehat%2Fsrc%2FBehat%2FTestwork%2FCli%2FDebugCommand.php;fp=vendor%2Fbehat%2Fbehat%2Fsrc%2FBehat%2FTestwork%2FCli%2FDebugCommand.php;h=d888cb90bba3d56d8e462a03cde79168d2394cfd;hb=1270d9129ce8f27c9b28b10518e32132c58e0aca;hp=0000000000000000000000000000000000000000;hpb=c27c0f0cdaa3f354b1fe54a56ae7e854be6e3f68;p=yaffs-website diff --git a/vendor/behat/behat/src/Behat/Testwork/Cli/DebugCommand.php b/vendor/behat/behat/src/Behat/Testwork/Cli/DebugCommand.php new file mode 100644 index 000000000..d888cb90b --- /dev/null +++ b/vendor/behat/behat/src/Behat/Testwork/Cli/DebugCommand.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Behat\Testwork\Cli; + +use Behat\Testwork\ServiceContainer\Configuration\ConfigurationLoader; +use Behat\Testwork\ServiceContainer\ExtensionManager; +use Symfony\Component\Console\Command\Command as BaseCommand; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +/** + * Provides debug information about the current environment. + * + * @author Konstantin Kudryashov + */ +final class DebugCommand extends BaseCommand +{ + /** + * @var Application + */ + private $application; + /** + * @var ConfigurationLoader + */ + private $configurationLoader; + /** + * @var ExtensionManager + */ + private $extensionManager; + + /** + * Initialises command. + * + * @param Application $application + * @param ConfigurationLoader $configurationLoader + * @param ExtensionManager $extensionManager + */ + public function __construct( + Application $application, + ConfigurationLoader $configurationLoader, + ExtensionManager $extensionManager + ) { + $this->application = $application; + $this->configurationLoader = $configurationLoader; + $this->extensionManager = $extensionManager; + + parent::__construct('debug'); + } + + /** + * {@inheritdoc} + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + $output->writeln(sprintf('%s version %s', $this->application->getName(), $this->application->getVersion())); + + $output->writeln(''); + + $debug = $this->configurationLoader->debugInformation(); + $output->writeln('--- configuration'); + $output->writeln(sprintf(' environment variable (%s): %s', $debug['environment_variable_name'], $debug['environment_variable_content'])); + $output->writeln(sprintf(' configuration file: %s', $debug['configuration_file_path'])); + + $output->writeln(''); + + $debug = $this->extensionManager->debugInformation(); + $output->writeln('--- extensions'); + $output->writeln(sprintf(' extensions loaded: %s', count($debug['extensions_list']) ? implode(', ', $debug['extensions_list']) : 'none')); + + $output->writeln(''); + } +}