- $enwiki = new WikiReference( 'wiki', 'en', 'http://en.example.org', '/w/$1' );
- $ruwiki = new WikiReference( 'wiki', 'ru', '//ru.example.org', '/wiki/$1' );
-
- return array(
- 'unknown' => array( false, 'xyzzy' ),
- 'enwiki' => array( $enwiki, 'enwiki' ),
- 'ruwiki' => array( $ruwiki, 'ruwiki' ),
- );
+ // As provided by $wgConf
+ $enwiki = new WikiReference( 'http://en.example.org', '/w/$1' );
+ $ruwiki = new WikiReference( '//ru.example.org', '/wiki/$1' );
+
+ // Created from site objects
+ $nlwiki = new WikiReference( 'https://nl.wikipedia.org', '/wiki/$1' );
+ // enwiktionary doesn't have an interwiki id, thus this falls back to minor = lang code
+ $enwiktionary = new WikiReference( 'https://en.wiktionary.org', '/wiki/$1' );
+
+ return [
+ 'unknown' => [ null, 'xyzzy' ],
+ 'enwiki (wgConf)' => [ $enwiki, 'enwiki' ],
+ 'ruwiki (wgConf)' => [ $ruwiki, 'ruwiki' ],
+ 'nlwiki (sites)' => [ $nlwiki, 'nlwiki', false ],
+ 'enwiktionary (sites)' => [ $enwiktionary, 'enwiktionary', false ],
+ 'non MediaWiki site' => [ null, 'spam', false ],
+ 'boguswiki' => [ null, 'boguswiki' ],
+ 'nopathwiki' => [ null, 'nopathwiki' ],
+ ];