mediawiki-extensions-AbuseF.../tests/phpunit/AbuseFilterDBTest.php
Daimona Eaytoy 72fcf1605a Reorder and cleanup some test files
Change-Id: Ib18b161dc938d6861904bf136570de1a2bd8dd46
2021-01-08 16:14:54 +01:00

49 lines
1.5 KiB
PHP

<?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 ];
}
}