80 lines
1.8 KiB
PHP
80 lines
1.8 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
use MediaWiki\Linker\LinkRenderer;
|
||
|
|
use MediaWiki\Linker\LinkRendererFactory;
|
||
|
|
use MediaWiki\MediaWikiServices;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @covers LinkRendererFactory
|
||
|
|
*/
|
||
|
|
class LinkRendererFactoryTest extends MediaWikiLangTestCase {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @var TitleFormatter
|
||
|
|
*/
|
||
|
|
private $titleFormatter;
|
||
|
|
|
||
|
|
public function setUp() {
|
||
|
|
parent::setUp();
|
||
|
|
$this->titleFormatter = MediaWikiServices::getInstance()->getTitleFormatter();
|
||
|
|
}
|
||
|
|
|
||
|
|
public static function provideCreateFromLegacyOptions() {
|
||
|
|
return [
|
||
|
|
[
|
||
|
|
[ 'noclasses' ],
|
||
|
|
'getNoClasses',
|
||
|
|
true
|
||
|
|
],
|
||
|
|
[
|
||
|
|
[ 'forcearticlepath' ],
|
||
|
|
'getForceArticlePath',
|
||
|
|
true
|
||
|
|
],
|
||
|
|
[
|
||
|
|
[ 'http' ],
|
||
|
|
'getExpandURLs',
|
||
|
|
PROTO_HTTP
|
||
|
|
],
|
||
|
|
[
|
||
|
|
[ 'https' ],
|
||
|
|
'getExpandURLs',
|
||
|
|
PROTO_HTTPS
|
||
|
|
],
|
||
|
|
[
|
||
|
|
[ 'stubThreshold' => 150 ],
|
||
|
|
'getStubThreshold',
|
||
|
|
150
|
||
|
|
],
|
||
|
|
];
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @dataProvider provideCreateFromLegacyOptions
|
||
|
|
*/
|
||
|
|
public function testCreateFromLegacyOptions( $options, $func, $val ) {
|
||
|
|
$factory = new LinkRendererFactory( $this->titleFormatter );
|
||
|
|
$linkRenderer = $factory->createFromLegacyOptions(
|
||
|
|
$options
|
||
|
|
);
|
||
|
|
$this->assertInstanceOf( LinkRenderer::class, $linkRenderer );
|
||
|
|
$this->assertEquals( $val, $linkRenderer->$func(), $func );
|
||
|
|
}
|
||
|
|
|
||
|
|
public function testCreate() {
|
||
|
|
$factory = new LinkRendererFactory( $this->titleFormatter );
|
||
|
|
$this->assertInstanceOf( LinkRenderer::class, $factory->create() );
|
||
|
|
}
|
||
|
|
|
||
|
|
public function testCreateForUser() {
|
||
|
|
$user = $this->getMock( User::class, [ 'getStubThreshold' ] );
|
||
|
|
$user->expects( $this->once() )
|
||
|
|
->method( 'getStubThreshold' )
|
||
|
|
->willReturn( 15 );
|
||
|
|
$factory = new LinkRendererFactory( $this->titleFormatter );
|
||
|
|
$linkRenderer = $factory->createForUser( $user );
|
||
|
|
$this->assertInstanceOf( LinkRenderer::class, $linkRenderer );
|
||
|
|
$this->assertEquals( 15, $linkRenderer->getStubThreshold() );
|
||
|
|
}
|
||
|
|
}
|