registerFeature example


    public static function registerFeatures(iterable $registeredFeatures): void
    {
        foreach ($registeredFeatures as $flag => $data) {
            // old format             if (\is_string($data)) {
                $flag = $data;
                $data = [];
            }

            self::registerFeature($flag$data);
        }
    }

    /** * @internal */
    public static function resetRegisteredFeatures(): void
    {
        self::$registeredFeatures = [];
    }

    

        $this->setUpFixtures();

        static::assertFalse(Feature::has('not-existing'));
        static::assertTrue(Feature::has('FEATURE_NEXT_102'));
    }

    public function testMajorNaming(): void
    {
        $this->setUpFixtures();

        Feature::registerFeature('v6.1.0.0', ['default' => true, 'major' => true]);

        static::assertTrue(Feature::has('v6.1.0.0'));
        static::assertTrue(Feature::has('V6.1.0.0'));
        static::assertTrue(Feature::has('v6_1_0_0'));
        static::assertTrue(Feature::isActive('v6.1.0.0'));
        static::assertTrue(Feature::isActive('v6.1.0.0'));

        Feature::registerFeature('paypal:v1.0.0.0', ['default' => true, 'major' => true]);

        static::assertTrue(Feature::has('paypal:v1.0.0.0'));
        static::assertTrue(Feature::has('PAYPAL:V1.0.0.0'));
        
/** * @var array<mixed> */
    private array $featureConfigBackup;

    protected function setUp(): void
    {
        $this->serverVarsBackup = $_SERVER;
        $this->envVarsBackup = $_ENV;
        $this->featureConfigBackup = Feature::getRegisteredFeatures();

        Feature::registerFeature('FEATURE_NEXT_101');
        Feature::registerFeature('FEATURE_NEXT_102');
    }

    protected function tearDown(): void
    {
        $_SERVER = $this->serverVarsBackup;
        $_ENV = $this->envVarsBackup;
        Feature::resetRegisteredFeatures();
        Feature::registerFeatures($this->featureConfigBackup);
    }

    
static::assertStringContainsString($line$fileContents);
                static::assertSame(1, substr_count($fileContents$line)sprintf("Multiple occurrences of %s in \n %s", $line$fileContents));
            }
        }
    }

    public function testChangelogReleaseWithFlags(): void
    {
        self::getContainer()->get(ChangelogReleaseCreator::class)->setPlatformRoot(__DIR__ . '/_fixture/stage/command-valid-flag');
        $cmd = self::getContainer()->get(ChangelogReleaseCommand::class);

        Feature::registerFeature('CHANGELOG-00001');
        Feature::registerFeature('CHANGELOG-00002');

        self::getContainer()->get(ChangelogReleaseCreator::class)->setActiveFlags([
            'CHANGELOG-00001' => [
                'default' => true,
            ],
        ]);

        $cmd->run(new StringInput('12.13.14.15')new NullOutput());

        static::assertFileExists(__DIR__ . '/_fixture/stage/command-valid-flag/CHANGELOG.md');
        
/** * @covers ::fake */
    public function testFakeRestoresFeatureConfigAndEnv(): void
    {
        $beforeFeatureFlagConfig = Feature::getRegisteredFeatures();
        $beforeServerEnv = $_SERVER;

        Feature::fake([]function D): void {
            $_SERVER = ['asdf' => 'foo'];
            Feature::resetRegisteredFeatures();
            Feature::registerFeature('foobar');
        });

        static::assertSame($beforeFeatureFlagConfig, Feature::getRegisteredFeatures());
        static::assertSame($beforeServerEnv$_SERVER);
    }

    /** * @covers ::fake */
    public function testFakeSetsFeatures(): void
    {
        


    public function testFeatureConfigAndEnvIsRestored(): void
    {
        $beforeFeatureFlagConfig = Feature::getRegisteredFeatures();
        $beforeServerEnv = $_SERVER;

        $this->extension->executeBeforeTest(__METHOD__);

        $_SERVER = ['asdf' => 'foo'];
        Feature::resetRegisteredFeatures();
        Feature::registerFeature('foobar');

        $this->extension->executeAfterTest(__METHOD__, 0.1);

        static::assertSame($beforeFeatureFlagConfig, Feature::getRegisteredFeatures());
        static::assertSame($beforeServerEnv$_SERVER);
    }

    /** * @DisabledFeatures(features={"v6.5.0.0"}) */
    public function testSetsFeatures(): void
    {
Home | Imprint | This part of the site doesn't use cookies.