mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git
synced 2024-09-23 10:21:40 +00:00
Type hint UserIdentity in Requirements/Components
Only id or registered state is needed. Change-Id: I184db486ed2763e0402fe75ed9afb0e71a0d57c6
This commit is contained in:
parent
c38e0677c3
commit
558359c06d
|
@ -3,7 +3,7 @@ namespace MediaWiki\Skins\Vector\Components;
|
|||
|
||||
use MediaWiki\Skins\Vector\Constants;
|
||||
use MediaWiki\Skins\Vector\FeatureManagement\FeatureManager;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
use MessageLocalizer;
|
||||
use Skin;
|
||||
|
||||
|
@ -30,7 +30,7 @@ class VectorComponentMainMenu implements VectorComponent {
|
|||
* @param array $sidebarData
|
||||
* @param array $languageData
|
||||
* @param MessageLocalizer $localizer
|
||||
* @param User $user
|
||||
* @param UserIdentity $user
|
||||
* @param FeatureManager $featureManager
|
||||
* @param Skin $skin
|
||||
*/
|
||||
|
@ -38,7 +38,7 @@ class VectorComponentMainMenu implements VectorComponent {
|
|||
array $sidebarData,
|
||||
array $languageData,
|
||||
MessageLocalizer $localizer,
|
||||
User $user,
|
||||
UserIdentity $user,
|
||||
FeatureManager $featureManager,
|
||||
Skin $skin
|
||||
) {
|
||||
|
|
|
@ -5,7 +5,7 @@ use MediaWiki\Linker\Linker;
|
|||
use MediaWiki\Skin\SkinComponentLink;
|
||||
use MediaWiki\Title\MalformedTitleException;
|
||||
use MediaWiki\Title\Title;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
use Message;
|
||||
use MessageLocalizer;
|
||||
|
||||
|
@ -20,7 +20,7 @@ class VectorComponentUserLinks implements VectorComponent {
|
|||
|
||||
/** @var MessageLocalizer */
|
||||
private $localizer;
|
||||
/** @var User */
|
||||
/** @var UserIdentity */
|
||||
private $user;
|
||||
/** @var array */
|
||||
private $portletData;
|
||||
|
@ -31,14 +31,14 @@ class VectorComponentUserLinks implements VectorComponent {
|
|||
|
||||
/**
|
||||
* @param MessageLocalizer $localizer
|
||||
* @param User $user
|
||||
* @param UserIdentity $user
|
||||
* @param array $portletData
|
||||
* @param array $linkOptions
|
||||
* @param string $userIcon that represents the current type of user
|
||||
*/
|
||||
public function __construct(
|
||||
MessageLocalizer $localizer,
|
||||
User $user,
|
||||
UserIdentity $user,
|
||||
array $portletData,
|
||||
array $linkOptions,
|
||||
string $userIcon = 'userAvatar'
|
||||
|
@ -286,7 +286,7 @@ class VectorComponentUserLinks implements VectorComponent {
|
|||
// Convert to buttons for logged in users.
|
||||
// For anons these will remain as links.
|
||||
// Note: This list is empty for temporary users currently.
|
||||
if ( !$this->user->isAnon() ) {
|
||||
if ( $this->user->isRegistered() ) {
|
||||
$overflow = $this->makeLinksButtons( $overflow );
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace MediaWiki\Skins\Vector\FeatureManagement\Requirements;
|
|||
|
||||
use MediaWiki\Config\Config;
|
||||
use MediaWiki\Skins\Vector\FeatureManagement\Requirement;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
|
||||
/**
|
||||
* @package MediaWiki\Skins\Vector\FeatureManagement\Requirements
|
||||
|
@ -33,7 +33,7 @@ use MediaWiki\User\User;
|
|||
class ABRequirement implements Requirement {
|
||||
private Config $config;
|
||||
|
||||
private User $user;
|
||||
private UserIdentity $user;
|
||||
|
||||
/**
|
||||
* The name of the experiment
|
||||
|
@ -47,13 +47,13 @@ class ABRequirement implements Requirement {
|
|||
|
||||
/**
|
||||
* @param Config $config
|
||||
* @param User $user
|
||||
* @param UserIdentity $user
|
||||
* @param string $experimentName The name of the experiment
|
||||
* @param string|null $name The name of the requirement
|
||||
*/
|
||||
public function __construct(
|
||||
Config $config,
|
||||
User $user,
|
||||
UserIdentity $user,
|
||||
string $experimentName,
|
||||
?string $name = null
|
||||
) {
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
namespace MediaWiki\Skins\Vector\FeatureManagement\Requirements;
|
||||
|
||||
use MediaWiki\Skins\Vector\FeatureManagement\Requirement;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
|
||||
/**
|
||||
* @package MediaWiki\Skins\Vector\FeatureManagement\Requirements
|
||||
|
@ -31,7 +31,7 @@ use MediaWiki\User\User;
|
|||
*/
|
||||
class LoggedInRequirement implements Requirement {
|
||||
|
||||
private User $user;
|
||||
private UserIdentity $user;
|
||||
|
||||
/**
|
||||
* The name of the requirement
|
||||
|
@ -39,10 +39,10 @@ class LoggedInRequirement implements Requirement {
|
|||
private string $name;
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
* @param UserIdentity $user
|
||||
* @param string $name The name of the requirement
|
||||
*/
|
||||
public function __construct( User $user, string $name ) {
|
||||
public function __construct( UserIdentity $user, string $name ) {
|
||||
$this->user = $user;
|
||||
$this->name = $name;
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ use MediaWiki\Extension\BetaFeatures\BetaFeatures;
|
|||
use MediaWiki\Request\WebRequest;
|
||||
use MediaWiki\Skins\Vector\Constants;
|
||||
use MediaWiki\Skins\Vector\FeatureManagement\Requirement;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
|
||||
/**
|
||||
* The `OverridableConfigRequirement` allows us to define requirements that can override
|
||||
|
@ -70,7 +70,7 @@ class OverridableConfigRequirement implements Requirement {
|
|||
|
||||
private Config $config;
|
||||
|
||||
private User $user;
|
||||
private UserIdentity $user;
|
||||
|
||||
private string $configName;
|
||||
|
||||
|
@ -83,14 +83,14 @@ class OverridableConfigRequirement implements Requirement {
|
|||
* the overridable config is enabled for the current user and request.
|
||||
*
|
||||
* @param Config $config
|
||||
* @param User $user
|
||||
* @param UserIdentity $user
|
||||
* @param WebRequest $request
|
||||
* @param string $configName Any `Config` key. This name is used to query `$config` state.
|
||||
* @param string $requirementName The name of the requirement presented to FeatureManager.
|
||||
*/
|
||||
public function __construct(
|
||||
Config $config,
|
||||
User $user,
|
||||
UserIdentity $user,
|
||||
WebRequest $request,
|
||||
string $configName,
|
||||
string $requirementName
|
||||
|
|
|
@ -25,14 +25,14 @@ use MediaWiki\Request\WebRequest;
|
|||
use MediaWiki\Skins\Vector\FeatureManagement\Requirement;
|
||||
use MediaWiki\Title\Title;
|
||||
use MediaWiki\User\Options\UserOptionsLookup;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
|
||||
/**
|
||||
* @package MediaWiki\Skins\Vector\FeatureManagement\Requirements
|
||||
*/
|
||||
final class UserPreferenceRequirement implements Requirement {
|
||||
|
||||
private User $user;
|
||||
private UserIdentity $user;
|
||||
|
||||
private UserOptionsLookup $userOptionsLookup;
|
||||
|
||||
|
@ -48,7 +48,7 @@ final class UserPreferenceRequirement implements Requirement {
|
|||
* This constructor accepts all dependencies needed to determine whether
|
||||
* the overridable config is enabled for the current user and request.
|
||||
*
|
||||
* @param User $user
|
||||
* @param UserIdentity $user
|
||||
* @param UserOptionsLookup $userOptionsLookup
|
||||
* @param string $optionName The name of the user preference.
|
||||
* @param string $requirementName The name of the requirement presented to FeatureManager.
|
||||
|
@ -56,7 +56,7 @@ final class UserPreferenceRequirement implements Requirement {
|
|||
* @param Title|null $title
|
||||
*/
|
||||
public function __construct(
|
||||
User $user,
|
||||
UserIdentity $user,
|
||||
UserOptionsLookup $userOptionsLookup,
|
||||
string $optionName,
|
||||
string $requirementName,
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace MediaWiki\Skins\Vector\Tests\Unit\FeatureManagement\Requirements;
|
|||
|
||||
use MediaWiki\Config\HashConfig;
|
||||
use MediaWiki\Skins\Vector\FeatureManagement\Requirements\ABRequirement;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
|
@ -35,7 +35,7 @@ use PHPUnit\Framework\TestCase;
|
|||
class ABRequirementTest extends TestCase {
|
||||
|
||||
private function createUserMock( $userId ) {
|
||||
$userMock = $this->createMock( User::class );
|
||||
$userMock = $this->createMock( UserIdentity::class );
|
||||
$userMock->method( 'getId' )->willReturn( $userId );
|
||||
return $userMock;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
namespace MediaWiki\Skins\Vector\Tests\Unit\FeatureManagement\Requirements;
|
||||
|
||||
use MediaWiki\Skins\Vector\FeatureManagement\Requirements\LoggedInRequirement;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
|
@ -55,7 +55,7 @@ class LoggedInRequirementTest extends TestCase {
|
|||
*/
|
||||
public function testGetName() {
|
||||
// Mock the User object
|
||||
$userMock = $this->createMock( User::class );
|
||||
$userMock = $this->createMock( UserIdentity::class );
|
||||
$requirementName = 'mockedUserLoggedInRequirement';
|
||||
|
||||
// Instantiate the LoggedInRequirement with the mock User object and the requirement name
|
||||
|
@ -73,7 +73,7 @@ class LoggedInRequirementTest extends TestCase {
|
|||
*/
|
||||
public function testIsMet( bool $isUserLoggedIn, bool $expectedResult ) {
|
||||
// Mock the User object
|
||||
$userMock = $this->createMock( User::class );
|
||||
$userMock = $this->createMock( UserIdentity::class );
|
||||
// Setup the isRegistered method to return the login state
|
||||
$userMock->method( 'isRegistered' )->willReturn( $isUserLoggedIn );
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ use MediaWiki\Config\HashConfig;
|
|||
use MediaWiki\Request\WebRequest;
|
||||
use MediaWiki\Skins\Vector\Constants;
|
||||
use MediaWiki\Skins\Vector\FeatureManagement\Requirements\OverridableConfigRequirement;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
|
||||
/**
|
||||
* @group Vector
|
||||
|
@ -141,7 +141,7 @@ class OverridableConfigRequirementTest extends \MediaWikiUnitTestCase {
|
|||
Constants::CONFIG_KEY_LANGUAGE_IN_HEADER => $configValue,
|
||||
] );
|
||||
|
||||
$user = $this->createMock( User::class );
|
||||
$user = $this->createMock( UserIdentity::class );
|
||||
$user->method( 'isRegistered' )->willReturn( $userId !== 0 );
|
||||
$user->method( 'getID' )->willReturn( $userId );
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ use MediaWiki\Request\FauxRequest;
|
|||
use MediaWiki\Skins\Vector\FeatureManagement\Requirements\UserPreferenceRequirement;
|
||||
use MediaWiki\Title\Title;
|
||||
use MediaWiki\User\Options\UserOptionsLookup;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
|
||||
/**
|
||||
* @group Vector
|
||||
|
@ -84,7 +84,7 @@ final class UserPreferenceRequirementTest extends \MediaWikiUnitTestCase {
|
|||
$expected,
|
||||
$msg
|
||||
) {
|
||||
$user = $this->createMock( User::class );
|
||||
$user = $this->createMock( UserIdentity::class );
|
||||
$title = $isTitlePresent ? $this->createMock( Title::class ) : null;
|
||||
$request = new FauxRequest();
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ use MediaWiki\Skins\Vector\Components\VectorComponent;
|
|||
use MediaWiki\Skins\Vector\Components\VectorComponentMainMenu;
|
||||
use MediaWiki\Skins\Vector\Constants;
|
||||
use MediaWiki\Skins\Vector\FeatureManagement\FeatureManager;
|
||||
use MediaWiki\User\User;
|
||||
use MediaWiki\User\UserIdentity;
|
||||
use MediaWikiUnitTestCase;
|
||||
use MessageLocalizer;
|
||||
use Skin;
|
||||
|
@ -46,9 +46,9 @@ class VectorComponentMainMenuTest extends MediaWikiUnitTestCase {
|
|||
$sidebarData = [];
|
||||
$languageData = [];
|
||||
|
||||
// Mock the MessageLocalizer, User, FeatureManager, and Skin classes
|
||||
// Mock the MessageLocalizer, UserIdentity, FeatureManager, and Skin classes
|
||||
$localizerMock = $this->createMock( MessageLocalizer::class );
|
||||
$userMock = $this->createMock( User::class );
|
||||
$userMock = $this->createMock( UserIdentity::class );
|
||||
$featureManagerMock = $this->createMock( FeatureManager::class );
|
||||
$skinMock = $this->createMock( Skin::class );
|
||||
|
||||
|
@ -95,9 +95,9 @@ class VectorComponentMainMenuTest extends MediaWikiUnitTestCase {
|
|||
* @dataProvider provideMainMenuScenarios
|
||||
*/
|
||||
public function testGetTemplateData( array $sidebarData, array $languageData, bool $isPinned ) {
|
||||
// Mock the MessageLocalizer, User, FeatureManager, and Skin classes
|
||||
// Mock the MessageLocalizer, UserIdentity, FeatureManager, and Skin classes
|
||||
$localizerMock = $this->createMock( MessageLocalizer::class );
|
||||
$userMock = $this->createMock( User::class );
|
||||
$userMock = $this->createMock( UserIdentity::class );
|
||||
$featureManagerMock = $this->createMock( FeatureManager::class );
|
||||
|
||||
// Mock the isFeatureEnabled method
|
||||
|
|
Loading…
Reference in a new issue