3 use MediaWiki\Linker\LinkRenderer
;
4 use MediaWiki\Linker\LinkRendererFactory
;
5 use MediaWiki\MediaWikiServices
;
8 * @covers MediaWiki\Linker\LinkRendererFactory
10 class LinkRendererFactoryTest
extends MediaWikiLangTestCase
{
15 private $titleFormatter;
27 public function setUp() {
30 $services = MediaWikiServices
::getInstance();
31 $this->titleFormatter
= $services->getTitleFormatter();
32 $this->linkCache
= $services->getLinkCache();
33 $this->nsInfo
= $services->getNamespaceInfo();
36 public static function provideCreateFromLegacyOptions() {
39 [ 'forcearticlepath' ],
40 'getForceArticlePath',
54 [ 'stubThreshold' => 150 ],
62 * @dataProvider provideCreateFromLegacyOptions
64 public function testCreateFromLegacyOptions( $options, $func, $val ) {
66 new LinkRendererFactory( $this->titleFormatter
, $this->linkCache
, $this->nsInfo
);
67 $linkRenderer = $factory->createFromLegacyOptions(
70 $this->assertInstanceOf( LinkRenderer
::class, $linkRenderer );
71 $this->assertEquals( $val, $linkRenderer->$func(), $func );
74 public function testCreate() {
76 new LinkRendererFactory( $this->titleFormatter
, $this->linkCache
, $this->nsInfo
);
77 $this->assertInstanceOf( LinkRenderer
::class, $factory->create() );
80 public function testCreateForUser() {
81 /** @var PHPUnit_Framework_MockObject_MockObject|User $user */
82 $user = $this->getMockBuilder( User
::class )
83 ->setMethods( [ 'getStubThreshold' ] )->getMock();
84 $user->expects( $this->once() )
85 ->method( 'getStubThreshold' )
88 new LinkRendererFactory( $this->titleFormatter
, $this->linkCache
, $this->nsInfo
);
89 $linkRenderer = $factory->createForUser( $user );
90 $this->assertInstanceOf( LinkRenderer
::class, $linkRenderer );
91 $this->assertEquals( 15, $linkRenderer->getStubThreshold() );