diff --git a/includes/FeatureManagement/FeatureManager.php b/includes/FeatureManagement/FeatureManager.php index c7f4ca9..0f250de 100644 --- a/includes/FeatureManagement/FeatureManager.php +++ b/includes/FeatureManagement/FeatureManager.php @@ -1,4 +1,5 @@ features ) ) { @@ -129,7 +130,7 @@ final class FeatureManager { * * @throws \InvalidArgumentException If the feature isn't registered */ - public function isFeatureEnabled( $feature ) { + public function isFeatureEnabled( string $feature ) : bool { if ( !array_key_exists( $feature, $this->features ) ) { throw new \InvalidArgumentException( "The feature \"{$feature}\" isn't registered." ); } @@ -161,13 +162,11 @@ final class FeatureManager { * * @throws \LogicException If the requirement has already been registered */ - public function registerRequirement( $name, $isMet ) { + public function registerRequirement( string $name, bool $isMet ) { if ( array_key_exists( $name, $this->requirements ) ) { throw new \LogicException( "The requirement \"{$name}\" is already registered." ); } - Assert::parameterType( 'boolean', $isMet, 'isMet' ); - $this->requirements[$name] = $isMet; } @@ -179,7 +178,7 @@ final class FeatureManager { * * @throws \InvalidArgumentException If the requirement isn't registered */ - public function isRequirementMet( $name ) { + public function isRequirementMet( string $name ) : bool { if ( !array_key_exists( $name, $this->requirements ) ) { throw new \InvalidArgumentException( "Requirement \"{$name}\" isn't registered." ); } diff --git a/tests/phpunit/unit/FeatureManagement/FeatureManagerTest.php b/tests/phpunit/unit/FeatureManagement/FeatureManagerTest.php index 22f1420..ff613d3 100644 --- a/tests/phpunit/unit/FeatureManagement/FeatureManagerTest.php +++ b/tests/phpunit/unit/FeatureManagement/FeatureManagerTest.php @@ -41,16 +41,6 @@ class FeatureManagerTest extends \MediaWikiUnitTestCase { $featureManager->registerRequirement( 'requirementA', true ); } - /** - * @covers ::registerRequirement - */ - public function testRegisterRequirementValidatesIsEnabled() { - $this->expectException( \Wikimedia\Assert\ParameterAssertionException::class ); - - $featureManager = new FeatureManager(); - $featureManager->registerRequirement( 'requirementA', 'foo' ); - } - public static function provideInvalidFeatureConfig() { return [