* @license GPL 2+
* @author Daniel Kinzler
*/
+use MediaWiki\MediaWikiServices;
use MediaWiki\Linker\LinkTarget;
/**
if ( preg_match( $prefixRegexp, $dbkey, $m ) ) {
$p = $m[1];
$ns = $this->language->getNsIndex( $p );
+ $interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
if ( $ns !== false ) {
# Ordinary namespace
$dbkey = $m[2];
if ( $this->language->getNsIndex( $x[1] ) ) {
# Disallow Talk:File:x type titles...
throw new MalformedTitleException( 'title-invalid-talk-namespace', $text );
- } elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
+ } elseif ( $interwikiLookup->isValidInterwiki( $x[1] ) ) {
// TODO: get rid of global state!
# Disallow Talk:Interwiki:x type titles...
throw new MalformedTitleException( 'title-invalid-talk-namespace', $text );
}
}
- } elseif ( Interwiki::isValidInterwiki( $p ) ) {
+ } elseif ( $interwikiLookup->isValidInterwiki( $p ) ) {
# Interwiki link
$dbkey = $m[2];
$parts['interwiki'] = $this->language->lc( $p );
$this->setWgInterwikiCache( false );
+ $interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
$this->assertEquals(
[ $dewiki, $zzwiki ],
- Interwiki::getAllPrefixes(),
+ $interwikiLookup->getAllPrefixes(),
'getAllPrefixes()'
);
$this->assertEquals(
[ $dewiki ],
- Interwiki::getAllPrefixes( true ),
+ $interwikiLookup->getAllPrefixes( true ),
'getAllPrefixes()'
);
$this->assertEquals(
[ $zzwiki ],
- Interwiki::getAllPrefixes( false ),
+ $interwikiLookup->getAllPrefixes( false ),
'getAllPrefixes()'
);
- $this->assertTrue( Interwiki::isValidInterwiki( 'de' ), 'known prefix is valid' );
- $this->assertFalse( Interwiki::isValidInterwiki( 'xyz' ), 'unknown prefix is valid' );
+ $this->assertTrue( $interwikiLookup->isValidInterwiki( 'de' ), 'known prefix is valid' );
+ $this->assertFalse( $interwikiLookup->isValidInterwiki( 'xyz' ), 'unknown prefix is valid' );
- $this->assertNull( Interwiki::fetch( null ), 'no prefix' );
- $this->assertFalse( Interwiki::fetch( 'xyz' ), 'unknown prefix' );
+ $this->assertNull( $interwikiLookup->fetch( null ), 'no prefix' );
+ $this->assertFalse( $interwikiLookup->fetch( 'xyz' ), 'unknown prefix' );
- $interwiki = Interwiki::fetch( 'de' );
+ $interwiki = $interwikiLookup->fetch( 'de' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
- $this->assertSame( $interwiki, Interwiki::fetch( 'de' ), 'in-process caching' );
+ $this->assertSame( $interwiki, $interwikiLookup->fetch( 'de' ), 'in-process caching' );
$this->assertSame( 'http://de.wikipedia.org/wiki/', $interwiki->getURL(), 'getURL' );
$this->assertSame( 'http://de.wikipedia.org/w/api.php', $interwiki->getAPI(), 'getAPI' );
$this->assertSame( false, $interwiki->isTranscludable(), 'isTranscludable' );
Interwiki::invalidateCache( 'de' );
- $this->assertNotSame( $interwiki, Interwiki::fetch( 'de' ), 'invalidate cache' );
+ $this->assertNotSame( $interwiki, $interwikiLookup->fetch( 'de' ), 'invalidate cache' );
}
/**
$this->setWgInterwikiCache( $cdbFile );
+ $interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
$this->assertEquals(
[ $dewiki, $zzwiki ],
- Interwiki::getAllPrefixes(),
+ $interwikiLookup->getAllPrefixes(),
'getAllPrefixes()'
);
- $this->assertTrue( Interwiki::isValidInterwiki( 'de' ), 'known prefix is valid' );
- $this->assertTrue( Interwiki::isValidInterwiki( 'zz' ), 'known prefix is valid' );
+ $this->assertTrue( $interwikiLookup->isValidInterwiki( 'de' ), 'known prefix is valid' );
+ $this->assertTrue( $interwikiLookup->isValidInterwiki( 'zz' ), 'known prefix is valid' );
- $interwiki = Interwiki::fetch( 'de' );
+ $interwiki = $interwikiLookup->fetch( 'de' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( 'http://de.wikipedia.org/wiki/', $interwiki->getURL(), 'getURL' );
$this->assertSame( true, $interwiki->isLocal(), 'isLocal' );
- $interwiki = Interwiki::fetch( 'zz' );
+ $interwiki = $interwikiLookup->fetch( 'zz' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( 'http://zzwiki.org/wiki/', $interwiki->getURL(), 'getURL' );
$this->setWgInterwikiCache( $cdbData );
+ $interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
$this->assertEquals(
[ $dewiki, $zzwiki ],
- Interwiki::getAllPrefixes(),
+ $interwikiLookup->getAllPrefixes(),
'getAllPrefixes()'
);
- $this->assertTrue( Interwiki::isValidInterwiki( 'de' ), 'known prefix is valid' );
- $this->assertTrue( Interwiki::isValidInterwiki( 'zz' ), 'known prefix is valid' );
+ $this->assertTrue( $interwikiLookup->isValidInterwiki( 'de' ), 'known prefix is valid' );
+ $this->assertTrue( $interwikiLookup->isValidInterwiki( 'zz' ), 'known prefix is valid' );
- $interwiki = Interwiki::fetch( 'de' );
+ $interwiki = $interwikiLookup->fetch( 'de' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( 'http://de.wikipedia.org/wiki/', $interwiki->getURL(), 'getURL' );
$this->assertSame( true, $interwiki->isLocal(), 'isLocal' );
- $interwiki = Interwiki::fetch( 'zz' );
+ $interwiki = $interwikiLookup->fetch( 'zz' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( 'http://zzwiki.org/wiki/', $interwiki->getURL(), 'getURL' );