parent::setUp();
$this->setMwGlobals( [
- 'wgLanguageCode' => 'en',
- 'wgContLang' => Language::factory( 'en' ),
- // User language
- 'wgLang' => Language::factory( 'en' ),
'wgAllowUserJs' => false,
'wgDefaultLanguageVariant' => false,
'wgMetaNamespace' => 'Project',
]
]
] );
+ $this->setUserLang( 'en' );
+ $this->setContentLang( 'en' );
}
/**
public static function provideFormat() {
return [
- [ NS_MAIN, 'Foo_Bar', '', 'en', 'Foo Bar' ],
- [ NS_USER, 'Hansi_Maier', 'stuff_and_so_on', 'en', 'User:Hansi Maier#stuff and so on' ],
- [ false, 'Hansi_Maier', '', 'en', 'Hansi Maier' ],
+ [ NS_MAIN, 'Foo_Bar', '', '', 'en', 'Foo Bar' ],
+ [ NS_USER, 'Hansi_Maier', 'stuff_and_so_on', '', 'en', 'User:Hansi Maier#stuff and so on' ],
+ [ false, 'Hansi_Maier', '', '', 'en', 'Hansi Maier' ],
[
NS_USER_TALK,
'hansi__maier',
'',
+ '',
'en',
'User talk:hansi maier',
'User talk:Hansi maier'
// getGenderCache() provides a mock that considers first
// names ending in "a" to be female.
- [ NS_USER, 'Lisa_Müller', '', 'de', 'Benutzerin:Lisa Müller' ],
+ [ NS_USER, 'Lisa_Müller', '', '', 'de', 'Benutzerin:Lisa Müller' ],
+ [ NS_MAIN, 'FooBar', '', 'remotetestiw', 'en', 'remotetestiw:FooBar' ],
];
}
/**
* @dataProvider provideFormat
*/
- public function testFormat( $namespace, $text, $fragment, $lang, $expected, $normalized = null ) {
+ public function testFormat( $namespace, $text, $fragment, $interwiki, $lang, $expected,
+ $normalized = null
+ ) {
if ( $normalized === null ) {
$normalized = $expected;
}
$codec = $this->makeCodec( $lang );
- $actual = $codec->formatTitle( $namespace, $text, $fragment );
+ $actual = $codec->formatTitle( $namespace, $text, $fragment, $interwiki );
$this->assertEquals( $expected, $actual, 'formatted' );
$actual2 = $codec->formatTitle(
$parsed->getNamespace(),
$parsed->getText(),
- $parsed->getFragment()
+ $parsed->getFragment(),
+ $parsed->getInterwiki()
);
$this->assertEquals( $normalized, $actual2, 'normalized after round trip' );
[ 'Talk:File:Foo.jpg' ],
[ 'Talk:localtestiw:Foo' ],
- [ 'remotetestiw:Foo' ],
[ '::1' ], // only valid in user namespace
[ 'User::x' ], // leading ":" in a user name is only valid of IPv6 addresses