mediawiki-extensions-AbuseF.../tests/phpunit/AbuseFilterDBTest.php

49 lines
1.5 KiB
PHP
Raw Normal View History

<?php
use MediaWiki\Extension\AbuseFilter\AbuseFilter;
use MediaWiki\Revision\MutableRevisionRecord;
use MediaWiki\Revision\RevisionRecord;
/**
* @group Test
* @group AbuseFilter
* @group AbuseFilterGeneric
*/
class AbuseFilterDBTest extends MediaWikiTestCase {
/**
* @param RevisionRecord $revRec
* @param bool $privileged
* @param bool $expected
* @dataProvider provideUserCanViewRev
* @covers AbuseFilter::userCanViewRev
*/
public function testUserCanViewRev( RevisionRecord $revRec, bool $privileged, bool $expected ) {
$user = $privileged
? $this->getTestUser( 'suppress' )->getUser()
: $this->getTestUser()->getUser();
$this->assertSame( $expected, AbuseFilter::userCanViewRev( $revRec, $user ) );
}
/**
* @return Generator|array
*/
public function provideUserCanViewRev() {
$title = Title::newFromText( __METHOD__ );
$visible = new MutableRevisionRecord( $title );
yield 'Visible, not privileged' => [ $visible, false, true ];
yield 'Visible, privileged' => [ $visible, true, true ];
$userSup = new MutableRevisionRecord( $title );
$userSup->setVisibility( RevisionRecord::SUPPRESSED_USER );
yield 'User suppressed, not privileged' => [ $userSup, false, false ];
yield 'User suppressed, privileged' => [ $userSup, true, true ];
$allSupp = new MutableRevisionRecord( $title );
$allSupp->setVisibility( RevisionRecord::SUPPRESSED_ALL );
yield 'All suppressed, not privileged' => [ $allSupp, false, false ];
yield 'All suppressed, privileged' => [ $allSupp, true, true ];
}
}