/**
  * @test
  * @expectedException \RuntimeException
  */
 public function getDefaultConfigurationExecutesDefinedDefaultConfigurationFile()
 {
     $defaultConfigurationFile = PATH_site . 'typo3temp/var/tests/' . $this->getUniqueId('defaultConfiguration');
     file_put_contents($defaultConfigurationFile, '<?php throw new \\RuntimeException(\'foo\', 1310203814); ?>');
     $this->testFilesToDelete[] = $defaultConfigurationFile;
     $this->subject->expects($this->once())->method('getDefaultConfigurationFileLocation')->will($this->returnValue($defaultConfigurationFile));
     $this->subject->getDefaultConfiguration();
 }
 /**
  * Check the settings for salted passwords extension to load it as a required extension.
  * Unset obsolete configuration options if given.
  *
  * @return void
  */
 protected function configureSaltedPasswords()
 {
     $defaultConfiguration = $this->configurationManager->getDefaultConfiguration();
     $defaultExtensionConfiguration = unserialize($defaultConfiguration['EXT']['extConf']['saltedpasswords']);
     try {
         $extensionConfiguration = @unserialize($this->configurationManager->getLocalConfigurationValueByPath('EXT/extConf/saltedpasswords'));
     } catch (\RuntimeException $e) {
         $extensionConfiguration = array();
     }
     if (is_array($extensionConfiguration) && !empty($extensionConfiguration)) {
         if (isset($extensionConfiguration['BE.']['enabled'])) {
             if ($extensionConfiguration['BE.']['enabled']) {
                 unset($extensionConfiguration['BE.']['enabled']);
             } else {
                 $extensionConfiguration['BE.'] = $defaultExtensionConfiguration['BE.'];
             }
             $this->configurationManager->setLocalConfigurationValueByPath('EXT/extConf/saltedpasswords', serialize($extensionConfiguration));
             $this->throwRedirectException();
         }
     } else {
         $this->configurationManager->setLocalConfigurationValueByPath('EXT/extConf/saltedpasswords', serialize($defaultExtensionConfiguration));
         $this->throwRedirectException();
     }
 }
 /**
  * Initialize TSFE object
  *
  * @return void
  */
 protected function initializeTsfe()
 {
     $configurationManager = new ConfigurationManager();
     $GLOBALS['TYPO3_CONF_VARS'] = $configurationManager->getDefaultConfiguration();
     $GLOBALS['TYPO3_CONF_VARS']['SYS']['trustedHostsPattern'] = '.*';
     $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'] = ['TEXT' => 'TYPO3\\CMS\\Frontend\\ContentObject\\TextContentObject', 'COA' => 'TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectArrayContentObject'];
     $GLOBALS['TT'] = new TimeTracker();
     $GLOBALS['TSFE'] = new TypoScriptFrontendController($GLOBALS['TYPO3_CONF_VARS'], 1, 0, true);
 }
 /**
  * Load default TYPO3_CONF_VARS to globals
  *
  * @return void
  */
 protected static function loadDefaultConfiguration()
 {
     $GLOBALS['TYPO3_CONF_VARS'] = \TYPO3\CMS\Core\Configuration\ConfigurationManager::getDefaultConfiguration();
 }