2d00a0de1756d699d600574edc940dcae5cf5478
3 class SearchResultSetTest
extends MediaWikiTestCase
{
5 * @covers SearchResultSet::getIterator
6 * @covers BaseSearchResultSet::next
7 * @covers BaseSearchResultSet::rewind
9 public function testIterate() {
10 $result = SearchResult
::newFromTitle( Title
::newMainPage() );
11 $resultSet = new MockSearchResultSet( [ $result ] );
12 $this->assertEquals( 1, $resultSet->numRows() );
14 foreach ( $resultSet as $iterResult ) {
15 $this->assertEquals( $result, $iterResult );
18 $this->assertEquals( 1, $count );
20 $this->hideDeprecated( 'BaseSearchResultSet::rewind' );
21 $this->hideDeprecated( 'BaseSearchResultSet::next' );
24 while ( ( $iterResult = $resultSet->next() ) !== false ) {
25 $this->assertEquals( $result, $iterResult );
28 $this->assertEquals( 1, $count );
32 * @covers SearchResultSet::augmentResult
33 * @covers SearchResultSet::setAugmentedData
35 public function testDelayedResultAugment() {
36 $result = SearchResult
::newFromTitle( Title
::newMainPage() );
37 $resultSet = new MockSearchResultSet( [ $result ] );
38 $resultSet->augmentResult( $result );
39 $this->assertEquals( [], $result->getExtensionData() );
40 $resultSet->setAugmentedData( 'foo', [
41 $result->getTitle()->getArticleID() => 'bar'
43 $this->assertEquals( [ 'foo' => 'bar' ], $result->getExtensionData() );
47 * @covers SearchResultSet::shrink
48 * @covers SearchResultSet::count
49 * @covers SearchResultSet::hasMoreResults
51 public function testHasMoreResults() {
52 $result = SearchResult
::newFromTitle( Title
::newMainPage() );
53 $resultSet = new MockSearchResultSet( array_fill( 0, 3, $result ) );
54 $this->assertEquals( 3, count( $resultSet ) );
55 $this->assertFalse( $resultSet->hasMoreResults() );
56 $resultSet->shrink( 3 );
57 $this->assertFalse( $resultSet->hasMoreResults() );
58 $resultSet->shrink( 2 );
59 $this->assertTrue( $resultSet->hasMoreResults() );