'LinkRendererFactory' => function ( MediaWikiServices $services ) : LinkRendererFactory {
return new LinkRendererFactory(
$services->getTitleFormatter(),
- $services->getLinkCache()
+ $services->getLinkCache(),
+ $services->getNamespaceInfo()
);
},
use LinkCache;
use Linker;
use MediaWiki\MediaWikiServices;
-use MWNamespace;
+use NamespaceInfo;
use Sanitizer;
use Title;
use TitleFormatter;
*/
private $linkCache;
+ /**
+ * @var NamespaceInfo
+ */
+ private $nsInfo;
+
/**
* Whether to run the legacy Linker hooks
*
/**
* @param TitleFormatter $titleFormatter
* @param LinkCache $linkCache
+ * @param NamespaceInfo $nsInfo
*/
- public function __construct( TitleFormatter $titleFormatter, LinkCache $linkCache ) {
+ public function __construct(
+ TitleFormatter $titleFormatter, LinkCache $linkCache, NamespaceInfo $nsInfo
+ ) {
$this->titleFormatter = $titleFormatter;
$this->linkCache = $linkCache;
+ $this->nsInfo = $nsInfo;
}
/**
if ( $this->linkCache->getGoodLinkFieldObj( $target, 'redirect' ) ) {
# Page is a redirect
return 'mw-redirect';
- } elseif ( $this->stubThreshold > 0 && MWNamespace::isContent( $target->getNamespace() )
- && $this->linkCache->getGoodLinkFieldObj( $target, 'length' ) < $this->stubThreshold
+ } elseif (
+ $this->stubThreshold > 0 && $this->nsInfo->isContent( $target->getNamespace() ) &&
+ $this->linkCache->getGoodLinkFieldObj( $target, 'length' ) < $this->stubThreshold
) {
# Page is a stub
return 'stub';
namespace MediaWiki\Linker;
use LinkCache;
+use NamespaceInfo;
use TitleFormatter;
use User;
*/
private $linkCache;
+ /**
+ * @var NamespaceInfo
+ */
+ private $nsInfo;
+
/**
* @param TitleFormatter $titleFormatter
* @param LinkCache $linkCache
+ * @param NamespaceInfo $nsInfo
*/
- public function __construct( TitleFormatter $titleFormatter, LinkCache $linkCache ) {
+ public function __construct(
+ TitleFormatter $titleFormatter, LinkCache $linkCache, NamespaceInfo $nsInfo
+ ) {
$this->titleFormatter = $titleFormatter;
$this->linkCache = $linkCache;
+ $this->nsInfo = $nsInfo;
}
/**
* @return LinkRenderer
*/
public function create() {
- return new LinkRenderer( $this->titleFormatter, $this->linkCache );
+ return new LinkRenderer( $this->titleFormatter, $this->linkCache, $this->nsInfo );
}
/**
*/
private $linkCache;
+ /**
+ * @var NamespaceInfo
+ */
+ private $nsInfo;
+
public function setUp() {
parent::setUp();
- $this->titleFormatter = MediaWikiServices::getInstance()->getTitleFormatter();
- $this->linkCache = MediaWikiServices::getInstance()->getLinkCache();
+
+ $services = MediaWikiServices::getInstance();
+ $this->titleFormatter = $services->getTitleFormatter();
+ $this->linkCache = $services->getLinkCache();
+ $this->nsInfo = $services->getNamespaceInfo();
}
public static function provideCreateFromLegacyOptions() {
* @dataProvider provideCreateFromLegacyOptions
*/
public function testCreateFromLegacyOptions( $options, $func, $val ) {
- $factory = new LinkRendererFactory( $this->titleFormatter, $this->linkCache );
+ $factory =
+ new LinkRendererFactory( $this->titleFormatter, $this->linkCache, $this->nsInfo );
$linkRenderer = $factory->createFromLegacyOptions(
$options
);
}
public function testCreate() {
- $factory = new LinkRendererFactory( $this->titleFormatter, $this->linkCache );
+ $factory =
+ new LinkRendererFactory( $this->titleFormatter, $this->linkCache, $this->nsInfo );
$this->assertInstanceOf( LinkRenderer::class, $factory->create() );
}
$user->expects( $this->once() )
->method( 'getStubThreshold' )
->willReturn( 15 );
- $factory = new LinkRendererFactory( $this->titleFormatter, $this->linkCache );
+ $factory =
+ new LinkRendererFactory( $this->titleFormatter, $this->linkCache, $this->nsInfo );
$linkRenderer = $factory->createForUser( $user );
$this->assertInstanceOf( LinkRenderer::class, $linkRenderer );
$this->assertEquals( 15, $linkRenderer->getStubThreshold() );
0 // redir
);
- $linkRenderer = new LinkRenderer( $titleFormatter, $linkCache );
+ $linkRenderer = new LinkRenderer( $titleFormatter, $linkCache, $nsInfo );
$linkRenderer->setStubThreshold( 0 );
$this->assertEquals(
'',