Merge "Push pagination decision for search into SearchEngine"
[lhc/web/wiklou.git] / tests / phpunit / mocks / search / MockCompletionSearchEngine.php
1 <?php
2
3 use MediaWiki\MediaWikiServices;
4
5 /**
6 * SearchEngine implementation for returning mocked completion search results.
7 */
8 class MockCompletionSearchEngine extends SearchEngine {
9 private static $completionSearchResult = [];
10
11 public function completionSearchBackend( $search ) {
12 if ( self::$completionSearchResult == null ) {
13 self::$completionSearchResult = [];
14 // TODO: Or does this have to be setup per-test?
15 $lc = MediaWikiServices::getInstance()->getLinkCache();
16 foreach ( range( 0, 10 ) as $i ) {
17 $dbkey = "Search_Result_$i";
18 $lc->addGoodLinkObj( 6543 + $i, new TitleValue( NS_MAIN, $dbkey ) );
19 self::$completionSearchResult[] = "Search Result $i";
20 }
21 }
22 $results = array_slice( self::$completionSearchResult, $this->offset, $this->limit );
23
24 return SearchSuggestionSet::fromStrings( $results );
25 }
26
27 }