Localisation updates from https://translatewiki.net.
[mediawiki.git] / tests / phpunit / includes / search / ParserOutputSearchDataExtractorTest.php
blob90fc72a51384244b1c5ee602f3f52d63ed2a17af
1 <?php
3 use MediaWiki\Parser\ParserOutput;
4 use MediaWiki\Search\ParserOutputSearchDataExtractor;
5 use MediaWiki\Title\Title;
7 /**
8 * @group Search
9 * @covers \MediaWiki\Search\ParserOutputSearchDataExtractor
10 * @group Database
12 class ParserOutputSearchDataExtractorTest extends MediaWikiLangTestCase {
14 public function testGetCategories() {
15 $categories = [
16 'Foo_bar' => 'Bar',
17 'New_page' => ''
20 $parserOutput = new ParserOutput( '', [], $categories );
22 $searchDataExtractor = new ParserOutputSearchDataExtractor();
24 $this->assertEquals(
25 [ 'Foo bar', 'New page' ],
26 $searchDataExtractor->getCategories( $parserOutput )
30 public function testGetExternalLinks() {
31 $parserOutput = new ParserOutput();
33 $parserOutput->addExternalLink( 'https://foo' );
34 $parserOutput->addExternalLink( 'https://bar' );
36 $searchDataExtractor = new ParserOutputSearchDataExtractor();
38 $this->assertEquals(
39 [ 'https://foo', 'https://bar' ],
40 $searchDataExtractor->getExternalLinks( $parserOutput )
44 public function testGetOutgoingLinks() {
45 $parserOutput = new ParserOutput();
47 $parserOutput->addLink( Title::makeTitle( NS_MAIN, 'Foo_bar' ), 1 );
48 $parserOutput->addLink( Title::makeTitle( NS_HELP, 'Contents' ), 2 );
50 $searchDataExtractor = new ParserOutputSearchDataExtractor();
52 // this indexes links with db key
53 $this->assertEquals(
54 [ 'Foo_bar', 'Help:Contents' ],
55 $searchDataExtractor->getOutgoingLinks( $parserOutput )
59 public function testGetTemplates() {
60 $title = Title::makeTitle( NS_TEMPLATE, 'Cite_news' );
62 $parserOutput = new ParserOutput();
63 $parserOutput->addTemplate( $title, 10, 100 );
65 $searchDataExtractor = new ParserOutputSearchDataExtractor();
67 $this->assertEquals(
68 [ 'Template:Cite news' ],
69 $searchDataExtractor->getTemplates( $parserOutput )