wiki.techinc.nl/tests/phpunit/includes/specials/SpecialPreferencesTest.php
vladshapik c7e6c67dc5 Hard deprecate User group methods
1) The following methods were hard deprecated:
- User::addAutopromoteOnceGroups
- User::getEffectiveGroups
- User::getAutomaticGroups
- User::getFormerGroups

2) User ::getGroups, ::getGroupMemberships, ::addGroup,
::removeGroup were replaced in the production code,
but they were not hard deprecated because of conflict
with UserRightsProxy class.

Bug: T275148
Change-Id: Ia69598316f5dc5dd9511f6112b5b13e1aa07575a
2021-07-23 15:00:16 +03:00

60 lines
1.6 KiB
PHP

<?php
/**
* Test class for SpecialPreferences class.
*
* Copyright © 2013, Antoine Musso
* Copyright © 2013, Wikimedia Foundation Inc.
*/
use MediaWiki\MediaWikiServices;
/**
* @group Preferences
* @group Database
*
* @covers SpecialPreferences
*/
class SpecialPreferencesTest extends MediaWikiIntegrationTestCase {
/**
* Make sure a nickname which is longer than $wgMaxSigChars
* is not throwing a fatal error.
*
* Test specifications by Alexandre "ialex" Emsenhuber.
* @todo give this test a real name explaining what is being tested here
*/
public function testT43337() {
// Set a low limit
$this->setMwGlobals( 'wgMaxSigChars', 2 );
$user = $this->createMock( User::class );
$user->method( 'isAnon' )
->willReturn( false );
# The mocked user has a long nickname
$user->method( 'getOption' )
->will( $this->returnValueMap( [
[ 'nickname', null, false, 'superlongnickname' ],
]
) );
// isAnyAllowed used to return null from the mock,
// thus revoke it's permissions.
$this->overrideUserPermissions( $user, [] );
# Forge a request to call the special page
$context = new RequestContext();
$context->setRequest( new FauxRequest() );
$context->setUser( $user );
$context->setTitle( Title::newFromText( 'Test' ) );
$services = MediaWikiServices::getInstance();
# Do the call, should not spurt a fatal error.
$special = new SpecialPreferences(
$services->getPreferencesFactory(),
$services->getUserOptionsManager()
);
$special->setContext( $context );
$this->assertNull( $special->execute( [] ) );
}
}