[Hygiene] featureManager: ComplexRequirement -> Requirement

FeatureManager::registerRequirement registering an instance of
SimpleRequirement with ::registerComplexRequirement was awkward.

Changes:

* Rename FeatureManager::registerRequirement to
  ::registerSimpleRequirement, which is exactly what it does!

* Rename FeatureManager::registerComplexRequirement to
  ::registerRequirement

Bug: T244481
Change-Id: I612af959cee4cdcd0bdcda51a81b86ed61ee2e16
This commit is contained in:
Sam Smith 2020-04-29 15:13:27 +01:00
parent 28c286526f
commit d4c2e2b441
3 changed files with 18 additions and 17 deletions

View File

@ -165,7 +165,7 @@ final class FeatureManager {
*
* @throws \LogicException If the requirement has already been registered
*/
public function registerComplexRequirement( Requirement $requirement ) {
public function registerRequirement( Requirement $requirement ) {
$name = $requirement->getName();
if ( array_key_exists( $name, $this->requirements ) ) {
@ -188,8 +188,8 @@ final class FeatureManager {
*
* @throws \LogicException If the requirement has already been registered
*/
public function registerRequirement( string $name, bool $isMet ) {
$this->registerComplexRequirement( new SimpleRequirement( $name, $isMet ) );
public function registerSimpleRequirement( string $name, bool $isMet ) {
$this->registerRequirement( new SimpleRequirement( $name, $isMet ) );
}
/**

View File

@ -35,18 +35,19 @@ return [
Constants::SERVICE_FEATURE_MANAGER => function ( MediaWikiServices $services ) {
$featureManager = new FeatureManager();
$requirement = new DynamicConfigRequirement(
$featureManager->registerRequirement(
new DynamicConfigRequirement(
$services->getMainConfig(),
Constants::CONFIG_KEY_FULLY_INITIALISED,
Constants::REQUIREMENT_FULLY_INITIALISED
);
$featureManager->registerComplexRequirement( $requirement );
)
);
// Feature: Latest skin
// ====================
$context = RequestContext::getMain();
$featureManager->registerComplexRequirement(
$featureManager->registerRequirement(
new LatestSkinVersionRequirement(
$context->getRequest(),
$context->getUser(),

View File

@ -31,15 +31,15 @@ use Vector\FeatureManagement\FeatureManager;
class FeatureManagerTest extends \MediaWikiUnitTestCase {
/**
* @covers ::registerSimpleRequirement
* @covers ::registerRequirement
* @covers ::registerComplexRequirement
*/
public function testRegisterRequirementThrowsWhenRequirementIsRegisteredTwice() {
public function testRegisterSimpleRequirementThrowsWhenRequirementIsRegisteredTwice() {
$this->expectException( \LogicException::class );
$featureManager = new FeatureManager();
$featureManager->registerRequirement( 'requirementA', true );
$featureManager->registerRequirement( 'requirementA', true );
$featureManager->registerSimpleRequirement( 'requirementA', true );
$featureManager->registerSimpleRequirement( 'requirementA', true );
}
public static function provideInvalidFeatureConfig() {
@ -69,7 +69,7 @@ class FeatureManagerTest extends \MediaWikiUnitTestCase {
$this->expectException( $expectedExceptionType );
$featureManager = new FeatureManager();
$featureManager->registerRequirement( 'requirement', true );
$featureManager->registerSimpleRequirement( 'requirement', true );
$featureManager->registerFeature( 'feature', $config );
}
@ -78,8 +78,8 @@ class FeatureManagerTest extends \MediaWikiUnitTestCase {
*/
public function testIsRequirementMet() {
$featureManager = new FeatureManager();
$featureManager->registerRequirement( 'enabled', true );
$featureManager->registerRequirement( 'disabled', false );
$featureManager->registerSimpleRequirement( 'enabled', true );
$featureManager->registerSimpleRequirement( 'disabled', false );
$this->assertTrue( $featureManager->isRequirementMet( 'enabled' ) );
$this->assertFalse( $featureManager->isRequirementMet( 'disabled' ) );
@ -111,7 +111,7 @@ class FeatureManagerTest extends \MediaWikiUnitTestCase {
*/
public function testIsFeatureEnabled() {
$featureManager = new FeatureManager();
$featureManager->registerRequirement( 'foo', false );
$featureManager->registerSimpleRequirement( 'foo', false );
$featureManager->registerFeature( 'requiresFoo', 'foo' );
$this->assertFalse(
@ -121,8 +121,8 @@ class FeatureManagerTest extends \MediaWikiUnitTestCase {
// ---
$featureManager->registerRequirement( 'bar', true );
$featureManager->registerRequirement( 'baz', true );
$featureManager->registerSimpleRequirement( 'bar', true );
$featureManager->registerSimpleRequirement( 'baz', true );
$featureManager->registerFeature( 'requiresFooBar', [ 'foo', 'bar' ] );
$featureManager->registerFeature( 'requiresBarBaz', [ 'bar', 'baz' ] );