Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/extensions/AbuseFilter/tests/phpunit/integration/Api/CheckSyntaxTest.php
Ðазад
<?php namespace MediaWiki\Extension\AbuseFilter\Tests\Integration\Api; use MediaWiki\Extension\AbuseFilter\Parser\Exception\UserVisibleException; use MediaWiki\Extension\AbuseFilter\Parser\Exception\UserVisibleWarning; use MediaWiki\Extension\AbuseFilter\Parser\FilterEvaluator; use MediaWiki\Extension\AbuseFilter\Parser\ParserStatus; use MediaWiki\Extension\AbuseFilter\Parser\RuleCheckerFactory; use MediaWiki\Tests\Api\ApiTestCase; use MediaWiki\Tests\Unit\Permissions\MockAuthorityTrait; /** * @covers \MediaWiki\Extension\AbuseFilter\Api\CheckSyntax * @group medium */ class CheckSyntaxTest extends ApiTestCase { use AbuseFilterApiTestTrait; use MockAuthorityTrait; public function testExecute_noPermissions() { $this->expectApiErrorCode( 'permissiondenied' ); $this->setService( RuleCheckerFactory::SERVICE_NAME, $this->getRuleCheckerFactory() ); $this->doApiRequest( [ 'action' => 'abusefilterchecksyntax', 'filter' => 'sampleFilter', ], null, null, $this->mockRegisteredNullAuthority() ); } public function testExecute_Ok() { $input = 'sampleFilter'; $status = new ParserStatus( null, [], 1 ); $ruleChecker = $this->createMock( FilterEvaluator::class ); $ruleChecker->method( 'checkSyntax' )->with( $input ) ->willReturn( $status ); $this->setService( RuleCheckerFactory::SERVICE_NAME, $this->getRuleCheckerFactory( $ruleChecker ) ); $result = $this->doApiRequest( [ 'action' => 'abusefilterchecksyntax', 'filter' => $input, ] ); $this->assertArrayEquals( [ 'abusefilterchecksyntax' => [ 'status' => 'ok' ] ], $result[0], false, true ); } public function testExecute_OkAndWarnings() { $input = 'sampleFilter'; $warnings = [ new UserVisibleWarning( 'exception-1', 3, [] ), new UserVisibleWarning( 'exception-2', 8, [ 'param' ] ), ]; $status = new ParserStatus( null, $warnings, 1 ); $ruleChecker = $this->createMock( FilterEvaluator::class ); $ruleChecker->method( 'checkSyntax' )->with( $input ) ->willReturn( $status ); $this->setService( RuleCheckerFactory::SERVICE_NAME, $this->getRuleCheckerFactory( $ruleChecker ) ); $result = $this->doApiRequest( [ 'action' => 'abusefilterchecksyntax', 'filter' => $input, ] ); $this->assertArrayEquals( [ 'abusefilterchecksyntax' => [ 'status' => 'ok', 'warnings' => [ [ 'message' => '⧼abusefilter-parser-warning-exception-1⧽', 'character' => 3, ], [ 'message' => '⧼abusefilter-parser-warning-exception-2⧽', 'character' => 8, ], ] ] ], $result[0], false, true ); } public function testExecute_error() { $input = 'sampleFilter'; $exception = new UserVisibleException( 'error-id', 4, [] ); $status = new ParserStatus( $exception, [], 1 ); $ruleChecker = $this->createMock( FilterEvaluator::class ); $ruleChecker->method( 'checkSyntax' )->with( $input ) ->willReturn( $status ); $this->setService( RuleCheckerFactory::SERVICE_NAME, $this->getRuleCheckerFactory( $ruleChecker ) ); $result = $this->doApiRequest( [ 'action' => 'abusefilterchecksyntax', 'filter' => $input, ] ); $this->assertArrayEquals( [ 'abusefilterchecksyntax' => [ 'status' => 'error', 'message' => '⧼abusefilter-exception-error-id⧽', 'character' => 4 ] ], $result[0], false, true ); } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка