15 'http://xyz.acme.test/wiki/$1',
16 'http://xyz.acme.test/w/api.php',
24 $this->assertSame(
'(interwiki-name-xyz)', $interwiki->getName() );
25 $this->assertSame(
'(interwiki-desc-xyz)', $interwiki->getDescription() );
26 $this->assertSame(
'http://xyz.acme.test/w/api.php', $interwiki->getAPI() );
27 $this->assertSame(
'http://xyz.acme.test/wiki/$1', $interwiki->getURL() );
28 $this->assertSame(
'xyzwiki', $interwiki->getWikiID() );
29 $this->assertTrue( $interwiki->isLocal() );
30 $this->assertFalse( $interwiki->isTranscludable() );
36 'http://xyz.acme.test/wiki/$1'
39 $this->assertSame(
'http://xyz.acme.test/wiki/$1', $interwiki->getURL() );
40 $this->assertSame(
'http://xyz.acme.test/wiki/Foo%26Bar', $interwiki->getURL(
'Foo&Bar' ) );
47 $dbw->delete(
'interwiki',
'*', __METHOD__ );
48 $dbw->insert(
'interwiki', array_values( $iwrows ), __METHOD__ );
49 $this->tablesUsed[] =
'interwiki';
54 MediaWikiServices::getInstance()->resetServiceForTesting(
'InterwikiLookup' );
55 $this->
setMwGlobals(
'wgInterwikiCache', $interwikiCache );
63 'iw_url' =>
'http://de.wikipedia.org/wiki/',
64 'iw_api' =>
'http://de.wikipedia.org/w/api.php',
65 'iw_wikiid' =>
'dewiki',
72 'iw_url' =>
'http://zzwiki.org/wiki/',
73 'iw_api' =>
'http://zzwiki.org/w/api.php',
74 'iw_wikiid' =>
'zzwiki',
83 $interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
86 $interwikiLookup->getAllPrefixes(),
91 $interwikiLookup->getAllPrefixes(
true ),
96 $interwikiLookup->getAllPrefixes(
false ),
100 $this->assertTrue( $interwikiLookup->isValidInterwiki(
'de' ),
'known prefix is valid' );
101 $this->assertFalse( $interwikiLookup->isValidInterwiki(
'xyz' ),
'unknown prefix is valid' );
103 $this->assertNull( $interwikiLookup->fetch(
null ),
'no prefix' );
104 $this->assertFalse( $interwikiLookup->fetch(
'xyz' ),
'unknown prefix' );
106 $interwiki = $interwikiLookup->fetch(
'de' );
108 $this->assertSame( $interwiki, $interwikiLookup->fetch(
'de' ),
'in-process caching' );
110 $this->assertSame(
'http://de.wikipedia.org/wiki/', $interwiki->getURL(),
'getURL' );
111 $this->assertSame(
'http://de.wikipedia.org/w/api.php', $interwiki->getAPI(),
'getAPI' );
112 $this->assertSame(
'dewiki', $interwiki->getWikiID(),
'getWikiID' );
113 $this->assertSame(
true, $interwiki->isLocal(),
'isLocal' );
114 $this->assertSame(
false, $interwiki->isTranscludable(),
'isTranscludable' );
116 $interwikiLookup->invalidateCache(
'de' );
117 $this->assertNotSame( $interwiki, $interwikiLookup->fetch(
'de' ),
'invalidate cache' );