wiki.techinc.nl/tests/phpunit/includes/linker/LinkRendererFactoryTest.php
Kunal Mehta f1d3f704df Fix @covers tags for LinkRenderer tests
phpunit's coverage report needs class names that include the namespace,
otherwise it'll just fail.

Bug: T136420
Change-Id: Ie748237176ea1363b35d73084e63e6fafe808286
2016-05-27 11:53:04 -07:00

74 lines
1.8 KiB
PHP

<?php
use MediaWiki\Linker\LinkRenderer;
use MediaWiki\Linker\LinkRendererFactory;
use MediaWiki\MediaWikiServices;
/**
* @covers MediaWiki\Linker\LinkRendererFactory
*/
class LinkRendererFactoryTest extends MediaWikiLangTestCase {
/**
* @var TitleFormatter
*/
private $titleFormatter;
public function setUp() {
parent::setUp();
$this->titleFormatter = MediaWikiServices::getInstance()->getTitleFormatter();
}
public static function provideCreateFromLegacyOptions() {
return [
[
[ '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() );
}
}