Bart\Configuration\ConfigurationTest::testSecretsAreSharedBetweenInstances PHP Method

testSecretsAreSharedBetweenInstances() public method

    public function testSecretsAreSharedBetweenInstances()
    {
        $this->shmockAndDieselify('\\Bart\\Shell', function ($shell) {
            // Only called *once*
            // The next time it should use static cache
            $shell->std_in_secret('What is your social?')->once()->return_value('078-05-1120');
            // Let all other methods flow through actual class
        });
        // do this with a real instance so that we can get confidence
        // ...that the $filePath and cache are being used
        $this->doStuffWithTempDir(function (BaseTestCase $phpu, $dirName) {
            Configuration::configure($dirName);
            // Copy sample INI file to path Configuration will look for TestConfig INI
            copy(BART_DIR . '/test/etc/conf-parser.conf', $dirName . '/test.conf');
            $configs = new TestConfig(false);
            $social = $configs->getSocialSecurityNumber();
            $this->assertEquals('078-05-1120', $social, 'social');
            // Create a new instance
            // The secret should be statically cached
            $configs2 = new TestConfig(false);
            $social2 = $configs2->getSocialSecurityNumber();
            $this->assertEquals('078-05-1120', $social2, 'social2');
        });
    }