22 'iw_url' =>
'http://de.wikipedia.org/wiki/',
23 'iw_api' =>
'http://de.wikipedia.org/w/api.php',
24 'iw_wikiid' =>
'dewiki',
31 'iw_url' =>
'http://zzwiki.org/wiki/',
32 'iw_api' =>
'http://zzwiki.org/w/api.php',
33 'iw_wikiid' =>
'zzwiki',
39 $lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup(
40 Language::factory(
'en' ),
41 WANObjectCache::newEmpty(),
50 $lookup->getAllPrefixes(),
55 $lookup->getAllPrefixes(
true ),
60 $lookup->getAllPrefixes(
false ),
64 $this->assertTrue( $lookup->isValidInterwiki(
'de' ),
'known prefix is valid' );
65 $this->assertFalse( $lookup->isValidInterwiki(
'xyz' ),
'unknown prefix is valid' );
67 $this->assertNull( $lookup->fetch(
null ),
'no prefix' );
68 $this->assertFalse( $lookup->fetch(
'xyz' ),
'unknown prefix' );
70 $interwiki = $lookup->fetch(
'de' );
71 $this->assertInstanceOf( Interwiki::class, $interwiki );
72 $this->assertSame( $interwiki, $lookup->fetch(
'de' ),
'in-process caching' );
74 $this->assertSame(
'http://de.wikipedia.org/wiki/', $interwiki->getURL(),
'getURL' );
75 $this->assertSame(
'http://de.wikipedia.org/w/api.php', $interwiki->getAPI(),
'getAPI' );
76 $this->assertSame(
'dewiki', $interwiki->getWikiID(),
'getWikiID' );
77 $this->assertSame(
true, $interwiki->isLocal(),
'isLocal' );
78 $this->assertSame(
false, $interwiki->isTranscludable(),
'isTranscludable' );
80 $lookup->invalidateCache(
'de' );
81 $this->assertNotSame( $interwiki, $lookup->fetch(
'de' ),
'invalidate cache' );
138 'iw_url' =>
'http://zzwiki.org/wiki/',
144 'iw_url' =>
'http://de.wikipedia.org/wiki/',
153 $lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup(
154 Language::factory(
'en' ),
155 WANObjectCache::newEmpty(),
163 [ $zzwiki, $dewiki ],
164 $lookup->getAllPrefixes(),
168 $this->assertTrue( $lookup->isValidInterwiki(
'de' ),
'known prefix is valid' );
169 $this->assertTrue( $lookup->isValidInterwiki(
'zz' ),
'known prefix is valid' );
171 $interwiki = $lookup->fetch(
'de' );
172 $this->assertInstanceOf( Interwiki::class, $interwiki );
174 $this->assertSame(
'http://de.wikipedia.org/wiki/', $interwiki->getURL(),
'getURL' );
175 $this->assertSame(
true, $interwiki->isLocal(),
'isLocal' );
177 $interwiki = $lookup->fetch(
'zz' );
178 $this->assertInstanceOf( Interwiki::class, $interwiki );
180 $this->assertSame(
'http://zzwiki.org/wiki/', $interwiki->getURL(),
'getURL' );
181 $this->assertSame(
false, $interwiki->isLocal(),
'isLocal' );
190 'iw_url' =>
'http://zzwiki.org/wiki/',
195 'iw_url' =>
'http://de.wikipedia.org/wiki/',
204 $lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup(
205 Language::factory(
'en' ),
206 WANObjectCache::newEmpty(),
214 [ $zzwiki, $dewiki ],
215 $lookup->getAllPrefixes(),
219 $this->assertTrue( $lookup->isValidInterwiki(
'de' ),
'known prefix is valid' );
220 $this->assertTrue( $lookup->isValidInterwiki(
'zz' ),
'known prefix is valid' );
222 $interwiki = $lookup->fetch(
'de' );
223 $this->assertInstanceOf( Interwiki::class, $interwiki );
225 $this->assertSame(
'http://de.wikipedia.org/wiki/', $interwiki->getURL(),
'getURL' );
226 $this->assertSame(
true, $interwiki->isLocal(),
'isLocal' );
228 $interwiki = $lookup->fetch(
'zz' );
229 $this->assertInstanceOf( Interwiki::class, $interwiki );
231 $this->assertSame(
'http://zzwiki.org/wiki/', $interwiki->getURL(),
'getURL' );
232 $this->assertSame(
false, $interwiki->isLocal(),
'isLocal' );