[ticket/12610] Fix tests and use getOption() for console

PHPBB3-12610
This commit is contained in:
Marc Alexander 2016-12-05 15:46:05 +01:00
parent 32aa0596f3
commit 103d344cd4
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
2 changed files with 32 additions and 25 deletions

View file

@ -110,25 +110,26 @@ class check extends \phpbb\console\command\command
}
else
{
return $this->check_ext($io, $stability, $recheck, $ext_name);
return $this->check_ext($input, $io, $stability, $recheck, $ext_name);
}
}
else
{
return $this->check_core($io,$stability, $recheck);
return $this->check_core($input, $io, $stability, $recheck);
}
}
/**
* Check if a given extension is up to date
*
* @param SymfonyStyle $io IO handler, for formatted and unified IO
* @param string $stability Force a given stability
* @param bool $recheck Disallow the use of the cache
* @param string $ext_name The extension name
* @param InputInterface $input Input stream, used to get the options.
* @param SymfonyStyle $io IO handler, for formatted and unified IO
* @param string $stability Force a given stability
* @param bool $recheck Disallow the use of the cache
* @param string $ext_name The extension name
* @return int
*/
protected function check_ext(SymfonyStyle $io, $stability, $recheck, $ext_name)
protected function check_ext(InputInterface $input, SymfonyStyle $io, $stability, $recheck, $ext_name)
{
try
{
@ -137,7 +138,7 @@ class check extends \phpbb\console\command\command
$updates_available = $ext_manager->version_check($md_manager, $recheck, false, $stability);
$metadata = $md_manager->get_metadata('all');
if ($io->isVerbose())
if ($input->getOption('verbose'))
{
$io->title($md_manager->get_metadata('display-name'));
@ -146,7 +147,7 @@ class check extends \phpbb\console\command\command
if (!empty($updates_available))
{
if ($io->isVerbose())
if ($input->getOption('verbose'))
{
$io->caution($this->language->lang('NOT_UP_TO_DATE', $metadata['name']));
@ -157,7 +158,7 @@ class check extends \phpbb\console\command\command
}
else
{
if ($io->isVerbose())
if ($input->getOption('verbose'))
{
$io->success($this->language->lang('UPDATE_NOT_NEEDED'));
}
@ -176,19 +177,20 @@ class check extends \phpbb\console\command\command
/**
* Check if the core is up to date
*
* @param SymfonyStyle $io IO handler, for formatted and unified IO
* @param string $stability Force a given stability
* @param bool $recheck Disallow the use of the cache
* @param InputInterface $input Input stream, used to get the options.
* @param SymfonyStyle $io IO handler, for formatted and unified IO
* @param string $stability Force a given stability
* @param bool $recheck Disallow the use of the cache
* @return int
*/
protected function check_core(SymfonyStyle $io, $stability, $recheck)
protected function check_core(InputInterface $input, SymfonyStyle $io, $stability, $recheck)
{
$version_helper = $this->phpbb_container->get('version_helper');
$version_helper->force_stability($stability);
$updates_available = $version_helper->get_suggested_updates($recheck);
if ($io->isVerbose())
if ($input->getOption('verbose'))
{
$io->title('phpBB core');
@ -199,7 +201,7 @@ class check extends \phpbb\console\command\command
{
$io->caution($this->language->lang('UPDATE_NEEDED'));
if ($io->isVerbose())
if ($input->getOption('verbose'))
{
$this->display_versions($io, $updates_available);
}
@ -208,7 +210,7 @@ class check extends \phpbb\console\command\command
}
else
{
if ($io->isVerbose())
if ($input->getOption('verbose'))
{
$io->success($this->language->lang('UPDATE_NOT_NEEDED'));
}
@ -220,7 +222,7 @@ class check extends \phpbb\console\command\command
/**
* Check if all the available extensions are up to date
*
* @param SymfonyStyle $io IO handler, for formatted and unified IO
* @param SymfonyStyle $io IO handler, for formatted and unified IO
* @param bool $recheck Disallow the use of the cache
* @return int
*/

View file

@ -28,6 +28,9 @@ class phpbb_console_command_check_test extends phpbb_test_case
protected $version_helper;
/** @var \phpbb\language\language */
protected $language;
public function test_up_to_date()
{
$command_tester = $this->get_command_tester('100000');
@ -40,7 +43,7 @@ class phpbb_console_command_check_test extends phpbb_test_case
{
$command_tester = $this->get_command_tester('100000');
$status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true, '--verbose' => true));
$this->assertContains('UPDATE_NOT_NEEDED', $command_tester->getDisplay());
$this->assertContains($this->language->lang('UPDATE_NOT_NEEDED'), $command_tester->getDisplay());
$this->assertSame($status, 0);
}
@ -49,7 +52,7 @@ class phpbb_console_command_check_test extends phpbb_test_case
{
$command_tester = $this->get_command_tester('0');
$status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true));
$this->assertContains('UPDATE_NEEDED', $command_tester->getDisplay());
$this->assertContains($this->language->lang('UPDATE_NEEDED'), $command_tester->getDisplay());
$this->assertSame($status, 1);
}
@ -57,8 +60,8 @@ class phpbb_console_command_check_test extends phpbb_test_case
{
$command_tester = $this->get_command_tester('0');
$status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true, '--verbose' => true));
$this->assertContains('UPDATE_NEEDED', $command_tester->getDisplay());
$this->assertContains('UPDATES_AVAILABLE', $command_tester->getDisplay());
$this->assertContains($this->language->lang('UPDATE_NEEDED'), $command_tester->getDisplay());
$this->assertContains($this->language->lang('UPDATES_AVAILABLE'), $command_tester->getDisplay());
$this->assertSame($status, 1);
}
@ -77,10 +80,12 @@ class phpbb_console_command_check_test extends phpbb_test_case
public function get_command_tester($current_version)
{
global $user;
global $user, $phpbb_root_path, $phpEx;
$this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx));
$user = $this->getMock('\phpbb\user', array(), array(
new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx)),
$this->language,
'\phpbb\datetime'
));
$user->method('lang')->will($this->returnArgument(0));
@ -96,7 +101,7 @@ class phpbb_console_command_check_test extends phpbb_test_case
$container->set('version_helper', $this->version_helper);
$application = new Application();
$application->add(new check($user, $config, $container));
$application->add(new check($user, $config, $container, $this->language));
$command = $application->find('update:check');
$this->command_name = $command->getName();