<?php
+
+use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
/**
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
- * @covers SpecialPageFactory
+ * @covers \MediaWiki\Special\SpecialPageFactory
* @group SpecialPage
*/
class SpecialPageFactoryTest extends MediaWikiTestCase {
-
- protected function tearDown() {
- parent::tearDown();
-
- SpecialPageFactory::resetList();
- }
-
- public function testResetList() {
- SpecialPageFactory::resetList();
- $this->assertContains( 'Specialpages', SpecialPageFactory::getNames() );
- }
-
public function testHookNotCalledTwice() {
$count = 0;
$this->mergeMwGlobalArrayValue( 'wgHooks', [
$count++;
}
] ] );
- SpecialPageFactory::resetList();
- SpecialPageFactory::getNames();
- SpecialPageFactory::getNames();
+ $spf = MediaWikiServices::getInstance()->getSpecialPageFactory();
+ $spf->getNames();
+ $spf->getNames();
$this->assertEquals( 1, $count );
}
*/
public function testGetPage( $spec, $shouldReuseInstance ) {
$this->mergeMwGlobalArrayValue( 'wgSpecialPages', [ 'testdummy' => $spec ] );
- SpecialPageFactory::resetList();
$page = SpecialPageFactory::getPage( 'testdummy' );
$this->assertInstanceOf( SpecialPage::class, $page );
*/
public function testGetNames() {
$this->mergeMwGlobalArrayValue( 'wgSpecialPages', [ 'testdummy' => SpecialAllPages::class ] );
- SpecialPageFactory::resetList();
$names = SpecialPageFactory::getNames();
$this->assertInternalType( 'array', $names );
*/
public function testResolveAlias() {
$this->setContentLang( 'de' );
- SpecialPageFactory::resetList();
list( $name, $param ) = SpecialPageFactory::resolveAlias( 'Spezialseiten/Foo' );
$this->assertEquals( 'Specialpages', $name );
*/
public function testGetLocalNameFor() {
$this->setContentLang( 'de' );
- SpecialPageFactory::resetList();
$name = SpecialPageFactory::getLocalNameFor( 'Specialpages', 'Foo' );
$this->assertEquals( 'Spezialseiten/Foo', $name );
*/
public function testGetTitleForAlias() {
$this->setContentLang( 'de' );
- SpecialPageFactory::resetList();
$title = SpecialPageFactory::getTitleForAlias( 'Specialpages/Foo' );
$this->assertEquals( 'Spezialseiten/Foo', $title->getText() );
public function testConflictResolution(
$test, $aliasesList, $alias, $expectedName, $expectedAlias, $expectWarnings
) {
- global $wgContLang;
- $lang = clone $wgContLang;
+ $lang = clone MediaWikiServices::getInstance()->getContentLanguage();
$lang->mExtendedSpecialPageAliases = $aliasesList;
- $this->setContentLang( $lang );
$this->setMwGlobals( 'wgSpecialPages',
array_combine( array_keys( $aliasesList ), array_keys( $aliasesList ) )
);
- SpecialPageFactory::resetList();
+ $this->setContentLang( $lang );
// Catch the warnings we expect to be raised
$warnings = [];
}
],
] );
- SpecialPageFactory::resetList();
SpecialPageFactory::getLocalNameFor( 'Specialpages' );
$this->assertTrue( $called, 'Recursive call succeeded' );
}