wiki.techinc.nl/tests/phpunit/unit/includes/content/FileContentHandlerTest.php
C. Scott Ananian 07b396d5b5 Move Article::getRedirectHeaderHtml() to LinkRenderer::makeRedirectHeader()
The use of Article::getRedirectHeaderHtml() has been discouraged for a
while, since WikitextContentHandler can (should) be used to insert the
redirect header.  Further, since I20db09619999919bfeda997d79561d21e3bf8718
the header should be added as an extension data property instead of
directly concatenated to the HTML.  Regardless, this functionality
logically should live in LinkRenderer.

Change-Id: I4d0de0e72473ae039dca420a2733bc746d8c2951
2023-09-22 17:08:17 -04:00

76 lines
2 KiB
PHP

<?php
namespace MediaWiki\Tests\Unit;
use FileContentHandler;
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\Linker\LinkRenderer;
use MediaWiki\Parser\MagicWordFactory;
use MediaWiki\Parser\Parsoid\ParsoidParserFactory;
use MediaWiki\Title\TitleFactory;
use MediaWikiUnitTestCase;
use ParserFactory;
use SearchEngine;
use SearchIndexField;
use SearchIndexFieldDefinition;
use Wikimedia\UUID\GlobalIdGenerator;
/**
* @group ContentHandler
*
* @covers FileContentHandler
*/
class FileContentHandlerTest extends MediaWikiUnitTestCase {
/**
* @var FileContentHandler
*/
private $handler;
protected function setUp(): void {
parent::setUp();
$this->handler = new FileContentHandler(
CONTENT_MODEL_WIKITEXT,
$this->createMock( TitleFactory::class ),
$this->createMock( ParserFactory::class ),
$this->createMock( GlobalIdGenerator::class ),
$this->createMock( LanguageNameUtils::class ),
$this->createMock( LinkRenderer::class ),
$this->createMock( MagicWordFactory::class ),
$this->createMock( ParsoidParserFactory::class )
);
}
public function testIndexMapping() {
$mockEngine = $this->createMock( SearchEngine::class );
$mockEngine->expects( $this->atLeastOnce() )
->method( 'makeSearchFieldMapping' )
->willReturnCallback( function ( $name, $type ) {
$mockField =
$this->getMockBuilder( SearchIndexFieldDefinition::class )
->onlyMethods( [ 'getMapping' ] )
->setConstructorArgs( [ $name, $type ] )
->getMock();
return $mockField;
} );
$map = $this->handler->getFieldsForSearchIndex( $mockEngine );
$expect = [
'file_media_type' => 1,
'file_mime' => 1,
'file_size' => 1,
'file_width' => 1,
'file_height' => 1,
'file_bits' => 1,
'file_resolution' => 1,
'file_text' => 1,
];
foreach ( $map as $name => $field ) {
$this->assertInstanceOf( SearchIndexField::class, $field );
$this->assertEquals( $name, $field->getName() );
unset( $expect[$name] );
}
$this->assertSame( [], $expect );
}
}