]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - tests/phpunit/includes/content/TextContentHandlerTest.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / tests / phpunit / includes / content / TextContentHandlerTest.php
1 <?php
2
3 /**
4  * @group ContentHandler
5  */
6 class TextContentHandlerTest extends MediaWikiLangTestCase {
7         public function testSupportsDirectEditing() {
8                 $handler = new TextContentHandler();
9                 $this->assertTrue( $handler->supportsDirectEditing(), 'direct editing is supported' );
10         }
11
12         /**
13          * @covers SearchEngine::makeSearchFieldMapping
14          * @covers ContentHandler::getFieldsForSearchIndex
15          */
16         public function testFieldsForIndex() {
17                 $handler = new TextContentHandler();
18
19                 $mockEngine = $this->createMock( 'SearchEngine' );
20
21                 $mockEngine->expects( $this->atLeastOnce() )
22                         ->method( 'makeSearchFieldMapping' )
23                         ->willReturnCallback( function ( $name, $type ) {
24                                 $mockField =
25                                         $this->getMockBuilder( 'SearchIndexFieldDefinition' )
26                                                 ->setConstructorArgs( [ $name, $type ] )
27                                                 ->getMock();
28                                 $mockField->expects( $this->atLeastOnce() )->method( 'getMapping' )->willReturn( [
29                                                 'testData' => 'test',
30                                                 'name' => $name,
31                                                 'type' => $type,
32                                         ] );
33                                 return $mockField;
34                         } );
35
36                 /**
37                  * @var $mockEngine SearchEngine
38                  */
39                 $fields = $handler->getFieldsForSearchIndex( $mockEngine );
40                 $mappedFields = [];
41                 foreach ( $fields as $name => $field ) {
42                         $this->assertInstanceOf( 'SearchIndexField', $field );
43                         /**
44                          * @var $field SearchIndexField
45                          */
46                         $mappedFields[$name] = $field->getMapping( $mockEngine );
47                 }
48                 $this->assertArrayHasKey( 'language', $mappedFields );
49                 $this->assertEquals( 'test', $mappedFields['language']['testData'] );
50                 $this->assertEquals( 'language', $mappedFields['language']['name'] );
51         }
52 }