This is moderately messy. Process was principally: * xargs rg --files-with-matches '^use Title;' | grep 'php$' | \ xargs -P 1 -n 1 sed -i -z 's/use Title;/use MediaWiki\\Title\\Title;/1' * rg --files-without-match 'MediaWiki\\Title\\Title;' . | grep 'php$' | \ xargs rg --files-with-matches 'Title\b' | \ xargs -P 1 -n 1 sed -i -z 's/\nuse /\nuse MediaWiki\\Title\\Title;\nuse /1' * composer fix Then manual fix-ups for a few files that don't have any use statements. Bug: T166010 Follows-Up: Ia5d8cb759dc3bc9e9bbe217d0fb109e2f8c4101a Change-Id: If8fc9d0d95fc1a114021e282a706fc3e7da3524b
43 lines
1.1 KiB
PHP
43 lines
1.1 KiB
PHP
<?php
|
|
|
|
use MediaWiki\Title\Title;
|
|
|
|
/**
|
|
* A manually constructed search result set.
|
|
* Mainly meant for supporting developer setups where the search operation might be
|
|
* mocked or proxied.
|
|
*/
|
|
class FauxSearchResultSet extends SearchResultSet {
|
|
|
|
/**
|
|
* @var int|null
|
|
* @see getTotalHits
|
|
*/
|
|
private $totalHits;
|
|
|
|
/**
|
|
* @param array<Title|SearchResult> $results Search results
|
|
* @param int|null $totalHits See getTotalHits()
|
|
*/
|
|
public function __construct( array $results, $totalHits = null ) {
|
|
$totalHits = max( count( $results ), $totalHits );
|
|
$hasMoreResults = count( $results ) < $totalHits;
|
|
parent::__construct( false, $hasMoreResults );
|
|
$this->results = array_map( static function ( $result ) {
|
|
if ( $result instanceof SearchResult ) {
|
|
return $result;
|
|
} elseif ( $result instanceof Title ) {
|
|
return new FauxSearchResult( $result );
|
|
} else {
|
|
throw new InvalidArgumentException( '$results must contain Title or SearchResult' );
|
|
}
|
|
}, $results );
|
|
$this->totalHits = $totalHits;
|
|
}
|
|
|
|
/** @inheritDoc */
|
|
public function getTotalHits() {
|
|
return $this->totalHits;
|
|
}
|
|
|
|
}
|