wiki.techinc.nl/tests/phpunit/maintenance/CommandLineInstallerTest.php
Dreamy Jazz bcb2112850 Start on tests for install.php
Why:
* Maintenance scripts in core are mostly untested and testing them
  will help to avoid regressions.

What:
* Create CommandLineInstallerTest.

Bug: T371167
Change-Id: Ia9ef03326d7c25b7eb310c191034932fffcbff8c
2024-08-30 19:44:52 +00:00

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();
}
}