3 use MediaWiki\Interwiki\InterwikiLookup
;
6 * @covers ExternalUserNames
8 class ExternalUserNamesTest
extends MediaWikiTestCase
{
10 public function provideGetUserLinkTitle() {
12 [ 'valid:>User1', Title
::makeTitle( NS_MAIN
, ':User:User1', '', 'valid' ) ],
15 Title
::makeTitle( NS_MAIN
, 'valid::User:User1', '', 'valid' )
19 Title
::makeTitle( NS_SPECIAL
, 'Contributions/127.0.0.1', '', '' )
21 [ 'invalid:>User1', null ]
26 * @covers ExternalUserNames::getUserLinkTitle
27 * @dataProvider provideGetUserLinkTitle
29 public function testGetUserLinkTitle( $username, $expected ) {
30 $interwikiLookupMock = $this->getMockBuilder( InterwikiLookup
::class )
33 $interwikiValueMap = [
37 $interwikiLookupMock->expects( $this->any() )
38 ->method( 'isValidInterwiki' )
39 ->will( $this->returnValueMap( $interwikiValueMap ) );
41 $this->setService( 'InterwikiLookup', $interwikiLookupMock );
45 ExternalUserNames
::getUserLinkTitle( $username )
49 public function provideApplyPrefix() {
51 [ 'User1', 'prefix', 'prefix>User1' ],
52 [ 'User1', 'prefix:>', 'prefix>User1' ],
53 [ 'User1', 'prefix:', 'prefix>User1' ],
58 * @covers ExternalUserNames::applyPrefix
59 * @dataProvider provideApplyPrefix
61 public function testApplyPrefix( $username, $prefix, $expected ) {
62 $externalUserNames = new ExternalUserNames( $prefix, true );
66 $externalUserNames->applyPrefix( $username )
70 public function provideAddPrefix() {
72 [ 'User1', 'prefix', 'prefix>User1' ],
73 [ 'User2', 'prefix2', 'prefix2>User2' ],
74 [ 'User3', 'prefix3', 'prefix3>User3' ],
79 * @covers ExternalUserNames::addPrefix
80 * @dataProvider provideAddPrefix
82 public function testAddPrefix( $username, $prefix, $expected ) {
83 $externalUserNames = new ExternalUserNames( $prefix, true );
87 $externalUserNames->addPrefix( $username )
91 public function provideIsExternal() {
95 [ 'prefix>User1', true ],
96 [ 'prefix:>User1', true ],
101 * @covers ExternalUserNames::isExternal
102 * @dataProvider provideIsExternal
104 public function testIsExternal( $username, $expected ) {
107 ExternalUserNames
::isExternal( $username )