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 );
59 $this->markTestSkipped(
'Needs I37b8e8018b3 <https://gerrit.wikimedia.org/r/#/c/270555/>' );
65 'iw_url' =>
'http://de.wikipedia.org/wiki/',
66 'iw_api' =>
'http://de.wikipedia.org/w/api.php',
67 'iw_wikiid' =>
'dewiki',
74 'iw_url' =>
'http://zzwiki.org/wiki/',
75 'iw_api' =>
'http://zzwiki.org/w/api.php',
76 'iw_wikiid' =>
'zzwiki',
85 $interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
88 $interwikiLookup->getAllPrefixes(),
93 $interwikiLookup->getAllPrefixes(
true ),
98 $interwikiLookup->getAllPrefixes(
false ),
102 $this->assertTrue( $interwikiLookup->isValidInterwiki(
'de' ),
'known prefix is valid' );
103 $this->assertFalse( $interwikiLookup->isValidInterwiki(
'xyz' ),
'unknown prefix is valid' );
105 $this->assertNull( $interwikiLookup->fetch(
null ),
'no prefix' );
106 $this->assertFalse( $interwikiLookup->fetch(
'xyz' ),
'unknown prefix' );
108 $interwiki = $interwikiLookup->fetch(
'de' );
109 $this->assertInstanceOf(
'Interwiki', $interwiki );
110 $this->assertSame( $interwiki, $interwikiLookup->fetch(
'de' ),
'in-process caching' );
112 $this->assertSame(
'http://de.wikipedia.org/wiki/', $interwiki->getURL(),
'getURL' );
113 $this->assertSame(
'http://de.wikipedia.org/w/api.php', $interwiki->getAPI(),
'getAPI' );
114 $this->assertSame(
'dewiki', $interwiki->getWikiID(),
'getWikiID' );
115 $this->assertSame(
true, $interwiki->isLocal(),
'isLocal' );
116 $this->assertSame(
false, $interwiki->isTranscludable(),
'isTranscludable' );
119 $this->assertNotSame( $interwiki, $interwikiLookup->fetch(
'de' ),
'invalidate cache' );