FileContentHandlerTest.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * @group ContentHandler
  4. *
  5. * @covers FileContentHandler
  6. */
  7. class FileContentHandlerTest extends MediaWikiLangTestCase {
  8. /**
  9. * @var FileContentHandler
  10. */
  11. private $handler;
  12. protected function setUp() {
  13. parent::setUp();
  14. $this->handler = new FileContentHandler();
  15. }
  16. public function testIndexMapping() {
  17. $mockEngine = $this->createMock( SearchEngine::class );
  18. $mockEngine->expects( $this->atLeastOnce() )
  19. ->method( 'makeSearchFieldMapping' )
  20. ->willReturnCallback( function ( $name, $type ) {
  21. $mockField =
  22. $this->getMockBuilder( SearchIndexFieldDefinition::class )
  23. ->setMethods( [ 'getMapping' ] )
  24. ->setConstructorArgs( [ $name, $type ] )
  25. ->getMock();
  26. return $mockField;
  27. } );
  28. $map = $this->handler->getFieldsForSearchIndex( $mockEngine );
  29. $expect = [
  30. 'file_media_type' => 1,
  31. 'file_mime' => 1,
  32. 'file_size' => 1,
  33. 'file_width' => 1,
  34. 'file_height' => 1,
  35. 'file_bits' => 1,
  36. 'file_resolution' => 1,
  37. 'file_text' => 1,
  38. ];
  39. foreach ( $map as $name => $field ) {
  40. $this->assertInstanceOf( SearchIndexField::class, $field );
  41. $this->assertEquals( $name, $field->getName() );
  42. unset( $expect[$name] );
  43. }
  44. $this->assertEmpty( $expect );
  45. }
  46. }