Page MenuHomeWickedGov Phorge

FilterValidatorTest.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

FilterValidatorTest.php

<?php
namespace MediaWiki\Extension\AbuseFilter\Tests\Integration;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\Extension\AbuseFilter\AbuseFilterPermissionManager;
use MediaWiki\Extension\AbuseFilter\AbuseFilterServices;
use MediaWiki\Extension\AbuseFilter\FilterValidator;
use MediaWiki\Extension\AbuseFilter\Parser\RuleCheckerFactory;
use MediaWikiIntegrationTestCase;
/**
* @group Test
* @group AbuseFilter
* @group Database
* @covers \MediaWiki\Extension\AbuseFilter\FilterValidator
*/
class FilterValidatorTest extends MediaWikiIntegrationTestCase {
/**
* @todo Make this a unit test once static methods in ChangeTags are moved to a service
* @param string[] $tags
* @param string|null $expected
* @dataProvider provideAllTags
*/
public function testCheckAllTags( array $tags, ?string $expected ) {
$validator = new FilterValidator(
AbuseFilterServices::getChangeTagValidator(),
$this->createMock( RuleCheckerFactory::class ),
$this->createMock( AbuseFilterPermissionManager::class ),
new ServiceOptions(
FilterValidator::CONSTRUCTOR_OPTIONS,
[
'AbuseFilterActionRestrictions' => [],
'AbuseFilterValidGroups' => [ 'default' ],
]
)
);
$status = $validator->checkAllTags( $tags );
$actualError = $status->isGood() ? null : $status->getMessages()[0]->getKey();
$this->assertSame( $expected, $actualError );
}
public static function provideAllTags() {
$invalidTags = [
'a|b',
'mw-undo',
'abusefilter-condition-limit',
'valid_tag',
];
$firstTagError = 'tags-create-invalid-chars';
yield 'invalid' => [ $invalidTags, $firstTagError ];
yield 'valid' => [ [ 'fooooobar', 'foooobaz' ], null ];
}
}

File Metadata

Mime Type
text/x-php
Expires
Tue, Aug 18, 19:14 (2 w, 4 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
71/54/7394e98c96b05e17d4aecd028d2c
Default Alt Text
FilterValidatorTest.php (1 KB)

Event Timeline