<?php
+
+use MediaWiki\MediaWikiServices;
+use Wikimedia\TestingAccessWrapper;
+
/**
* @group Search
* @group Database
*/
class SearchEnginePrefixTest extends MediaWikiLangTestCase {
+ private $originalHandlers;
/**
* @var SearchEngine
}
// Avoid special pages from extensions interferring with the tests
- $this->setMwGlobals( 'wgSpecialPages', [] );
- $this->search = SearchEngine::create();
+ $this->setMwGlobals( [
+ 'wgSpecialPages' => [],
+ 'wgHooks' => [],
+ ] );
+
+ $this->search = MediaWikiServices::getInstance()->newSearchEngine();
$this->search->setNamespaces( [] );
+
+ $this->originalHandlers = TestingAccessWrapper::newFromClass( 'Hooks' )->handlers;
+ TestingAccessWrapper::newFromClass( 'Hooks' )->handlers = [];
+
+ SpecialPageFactory::resetList();
+ }
+
+ public function tearDown() {
+ parent::tearDown();
+
+ TestingAccessWrapper::newFromClass( 'Hooks' )->handlers = $this->originalHandlers;
+
+ SpecialPageFactory::resetList();
}
protected function searchProvision( array $results = null ) {
'results' => [
'Special:ActiveUsers',
'Special:AllMessages',
- 'Special:AllMyFiles',
+ 'Special:AllMyUploads',
],
// Third result when testing offset
'offsetresult' => [
- 'Special:AllMyUploads',
+ 'Special:AllPages',
],
] ],
[ [
],
// Third result when testing offset
'offsetresult' => [
- 'Special:UncategorizedImages',
+ 'Special:UncategorizedPages',
],
] ],
[ [
],
] ],
[ [
- 'Exact match not on top (bug 70958)',
+ 'Exact match not on top (T72958)',
'provision' => [
'Barcelona',
'Bar',
],
] ],
[ [
- 'Exact match missing (bug 70958)',
+ 'Exact match missing (T72958)',
'provision' => [
'Barcelona',
'Barbara',