mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/12610] Fix tests and use getOption() for console
PHPBB3-12610
This commit is contained in:
parent
32aa0596f3
commit
103d344cd4
2 changed files with 32 additions and 25 deletions
|
@ -110,25 +110,26 @@ class check extends \phpbb\console\command\command
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return $this->check_ext($io, $stability, $recheck, $ext_name);
|
return $this->check_ext($input, $io, $stability, $recheck, $ext_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
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
|
* Check if a given extension is up to date
|
||||||
*
|
*
|
||||||
* @param SymfonyStyle $io IO handler, for formatted and unified IO
|
* @param InputInterface $input Input stream, used to get the options.
|
||||||
* @param string $stability Force a given stability
|
* @param SymfonyStyle $io IO handler, for formatted and unified IO
|
||||||
* @param bool $recheck Disallow the use of the cache
|
* @param string $stability Force a given stability
|
||||||
* @param string $ext_name The extension name
|
* @param bool $recheck Disallow the use of the cache
|
||||||
|
* @param string $ext_name The extension name
|
||||||
* @return int
|
* @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
|
try
|
||||||
{
|
{
|
||||||
|
@ -137,7 +138,7 @@ class check extends \phpbb\console\command\command
|
||||||
$updates_available = $ext_manager->version_check($md_manager, $recheck, false, $stability);
|
$updates_available = $ext_manager->version_check($md_manager, $recheck, false, $stability);
|
||||||
|
|
||||||
$metadata = $md_manager->get_metadata('all');
|
$metadata = $md_manager->get_metadata('all');
|
||||||
if ($io->isVerbose())
|
if ($input->getOption('verbose'))
|
||||||
{
|
{
|
||||||
$io->title($md_manager->get_metadata('display-name'));
|
$io->title($md_manager->get_metadata('display-name'));
|
||||||
|
|
||||||
|
@ -146,7 +147,7 @@ class check extends \phpbb\console\command\command
|
||||||
|
|
||||||
if (!empty($updates_available))
|
if (!empty($updates_available))
|
||||||
{
|
{
|
||||||
if ($io->isVerbose())
|
if ($input->getOption('verbose'))
|
||||||
{
|
{
|
||||||
$io->caution($this->language->lang('NOT_UP_TO_DATE', $metadata['name']));
|
$io->caution($this->language->lang('NOT_UP_TO_DATE', $metadata['name']));
|
||||||
|
|
||||||
|
@ -157,7 +158,7 @@ class check extends \phpbb\console\command\command
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($io->isVerbose())
|
if ($input->getOption('verbose'))
|
||||||
{
|
{
|
||||||
$io->success($this->language->lang('UPDATE_NOT_NEEDED'));
|
$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
|
* Check if the core is up to date
|
||||||
*
|
*
|
||||||
* @param SymfonyStyle $io IO handler, for formatted and unified IO
|
* @param InputInterface $input Input stream, used to get the options.
|
||||||
* @param string $stability Force a given stability
|
* @param SymfonyStyle $io IO handler, for formatted and unified IO
|
||||||
* @param bool $recheck Disallow the use of the cache
|
* @param string $stability Force a given stability
|
||||||
|
* @param bool $recheck Disallow the use of the cache
|
||||||
* @return int
|
* @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 = $this->phpbb_container->get('version_helper');
|
||||||
$version_helper->force_stability($stability);
|
$version_helper->force_stability($stability);
|
||||||
|
|
||||||
$updates_available = $version_helper->get_suggested_updates($recheck);
|
$updates_available = $version_helper->get_suggested_updates($recheck);
|
||||||
|
|
||||||
if ($io->isVerbose())
|
if ($input->getOption('verbose'))
|
||||||
{
|
{
|
||||||
$io->title('phpBB core');
|
$io->title('phpBB core');
|
||||||
|
|
||||||
|
@ -199,7 +201,7 @@ class check extends \phpbb\console\command\command
|
||||||
{
|
{
|
||||||
$io->caution($this->language->lang('UPDATE_NEEDED'));
|
$io->caution($this->language->lang('UPDATE_NEEDED'));
|
||||||
|
|
||||||
if ($io->isVerbose())
|
if ($input->getOption('verbose'))
|
||||||
{
|
{
|
||||||
$this->display_versions($io, $updates_available);
|
$this->display_versions($io, $updates_available);
|
||||||
}
|
}
|
||||||
|
@ -208,7 +210,7 @@ class check extends \phpbb\console\command\command
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($io->isVerbose())
|
if ($input->getOption('verbose'))
|
||||||
{
|
{
|
||||||
$io->success($this->language->lang('UPDATE_NOT_NEEDED'));
|
$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
|
* 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
|
* @param bool $recheck Disallow the use of the cache
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -28,6 +28,9 @@ class phpbb_console_command_check_test extends phpbb_test_case
|
||||||
|
|
||||||
protected $version_helper;
|
protected $version_helper;
|
||||||
|
|
||||||
|
/** @var \phpbb\language\language */
|
||||||
|
protected $language;
|
||||||
|
|
||||||
public function test_up_to_date()
|
public function test_up_to_date()
|
||||||
{
|
{
|
||||||
$command_tester = $this->get_command_tester('100000');
|
$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');
|
$command_tester = $this->get_command_tester('100000');
|
||||||
$status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true, '--verbose' => true));
|
$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);
|
$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');
|
$command_tester = $this->get_command_tester('0');
|
||||||
$status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true));
|
$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);
|
$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');
|
$command_tester = $this->get_command_tester('0');
|
||||||
$status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true, '--verbose' => true));
|
$status = $command_tester->execute(array('command' => $this->command_name, '--no-ansi' => true, '--verbose' => true));
|
||||||
$this->assertContains('UPDATE_NEEDED', $command_tester->getDisplay());
|
$this->assertContains($this->language->lang('UPDATE_NEEDED'), $command_tester->getDisplay());
|
||||||
$this->assertContains('UPDATES_AVAILABLE', $command_tester->getDisplay());
|
$this->assertContains($this->language->lang('UPDATES_AVAILABLE'), $command_tester->getDisplay());
|
||||||
$this->assertSame($status, 1);
|
$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)
|
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(
|
$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'
|
'\phpbb\datetime'
|
||||||
));
|
));
|
||||||
$user->method('lang')->will($this->returnArgument(0));
|
$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);
|
$container->set('version_helper', $this->version_helper);
|
||||||
|
|
||||||
$application = new Application();
|
$application = new Application();
|
||||||
$application->add(new check($user, $config, $container));
|
$application->add(new check($user, $config, $container, $this->language));
|
||||||
|
|
||||||
$command = $application->find('update:check');
|
$command = $application->find('update:check');
|
||||||
$this->command_name = $command->getName();
|
$this->command_name = $command->getName();
|
||||||
|
|
Loading…
Add table
Reference in a new issue