Why: * Maintenance scripts in core are mostly untested and testing them will help to avoid regressions. What: * Create CommandLineInstallerTest. Bug: T371167 Change-Id: Ia9ef03326d7c25b7eb310c191034932fffcbff8c
33 lines
1 KiB
PHP
33 lines
1 KiB
PHP
<?php
|
|
|
|
namespace MediaWiki\Tests\Maintenance;
|
|
|
|
use CommandLineInstaller;
|
|
|
|
/**
|
|
* @covers \CommandLineInstaller
|
|
* @author Dreamy Jazz
|
|
*/
|
|
class CommandLineInstallerTest extends MaintenanceBaseTestCase {
|
|
public function getMaintenanceClass() {
|
|
return CommandLineInstaller::class;
|
|
}
|
|
|
|
public function testExecuteWhenHelpSpecified() {
|
|
$this->maintenance->setOption( 'help', 1 );
|
|
// ::maybeShowHelp uses ->mName which is null unless we call this.
|
|
$this->maintenance->setName( 'install.php' );
|
|
$this->expectCallToFatalError();
|
|
$this->expectOutputString( $this->maintenance->getParameters()->getHelp() . "\n" );
|
|
$this->maintenance->execute();
|
|
}
|
|
|
|
public function testExecuteWhenFirstArgumentProvidedButNotSecond() {
|
|
$this->maintenance->setArg( 'name', 'mediawiki' );
|
|
// ::maybeShowHelp uses ->mName which is null unless we call this.
|
|
$this->maintenance->setName( 'install.php' );
|
|
$this->expectCallToFatalError();
|
|
$this->expectOutputRegex( '/Argument \<admin\> is required/' );
|
|
$this->maintenance->execute();
|
|
}
|
|
}
|