From: aude Date: Sat, 18 Mar 2017 19:42:09 +0000 (-0400) Subject: Avoid database connection in SpecialSearchTest data provider X-Git-Tag: 1.31.0-rc.0~3758^2 X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=commitdiff_plain;h=4f93da7259b8797352c2b0b59e72311a44ed71ac Avoid database connection in SpecialSearchTest data provider SearchResult::newFromTitle involves database connnection, thus better to avoid calling this in the data provider. Change-Id: I891e97cf18ca1dd44abefe01731dfc5da51f1982 --- diff --git a/tests/phpunit/includes/specials/SpecialSearchTest.php b/tests/phpunit/includes/specials/SpecialSearchTest.php index 9daae9741e..4e9d826360 100644 --- a/tests/phpunit/includes/specials/SpecialSearchTest.php +++ b/tests/phpunit/includes/specials/SpecialSearchTest.php @@ -150,23 +150,25 @@ class SpecialSearchTest extends MediaWikiTestCase { [ 'With suggestion and no rewritten query shows did you mean', '/Did you mean: ]+>first suggestion/', - new SpecialSearchTestMockResultSet( 'first suggestion', null, [ - SearchResult::newFromTitle( Title::newMainPage() ), - ] ), + 'first suggestion', + null, + [ Title::newMainPage() ] ], [ 'With rewritten query informs user of change', '/Showing results for ]+>first suggestion/', - new SpecialSearchTestMockResultSet( 'asdf', 'first suggestion', [ - SearchResult::newFromTitle( Title::newMainPage() ), - ] ), + 'asdf', + 'first suggestion', + [ Title::newMainPage() ] ], [ 'When both queries have no results user gets no results', '/There were no results matching the query/', - new SpecialSearchTestMockResultSet( 'first suggestion', 'first suggestion', [] ), + 'first suggestion', + 'first suggestion', + [] ], ]; } @@ -174,8 +176,24 @@ class SpecialSearchTest extends MediaWikiTestCase { /** * @dataProvider provideRewriteQueryWithSuggestion */ - public function testRewriteQueryWithSuggestion( $message, $expectRegex, $results ) { - $mockSearchEngine = $this->mockSearchEngine( $results ); + public function testRewriteQueryWithSuggestion( + $message, + $expectRegex, + $suggestion, + $rewrittenQuery, + array $resultTitles + ) { + $results = array_map( function( $title ) { + return SearchResult::newFromTitle( $title ); + }, $resultTitles ); + + $searchResults = new SpecialSearchTestMockResultSet( + $suggestion, + $rewrittenQuery, + $results + ); + + $mockSearchEngine = $this->mockSearchEngine( $searchResults ); $search = $this->getMockBuilder( 'SpecialSearch' ) ->setMethods( [ 'getSearchEngine' ] ) ->getMock();