function setUp($settingFile = '') { $this->extension = $this->getMock('Tx_ExtensionBuilder_Domain_Model_Extension', array('getExtensionDir')); $extensionKey = 'dummy'; //$dummyExtensionDir = PATH_typo3conf.'ext/extension_builder/Tests/Examples/'.$extensionKey.'/'; vfsStream::setup('testDir'); $dummyExtensionDir = vfsStream::url('testDir') . '/'; $this->extension->setExtensionKey($extensionKey); $this->extension->expects($this->any())->method('getExtensionDir')->will($this->returnValue($dummyExtensionDir)); $yamlParser = new Tx_ExtensionBuilder_Utility_SpycYAMLParser(); $settings = $yamlParser->YAMLLoadString(file_get_contents(PATH_typo3conf . 'ext/extension_builder/Tests/Examples/Settings/settings1.yaml')); $this->extension->setSettings($settings); $configurationManager = t3lib_div::makeInstance('Tx_ExtensionBuilder_Configuration_ConfigurationManager'); $this->classParser = t3lib_div::makeInstance('Tx_ExtensionBuilder_Utility_ClassParser'); $this->roundTripService = $this->getMock($this->buildAccessibleProxy('Tx_ExtensionBuilder_Service_RoundTrip'), array('dummy')); $this->classBuilder = t3lib_div::makeInstance('Tx_ExtensionBuilder_Service_ClassBuilder'); $this->classBuilder->injectConfigurationManager($configurationManager); $this->roundTripService->injectClassBuilder($this->classBuilder); $this->roundTripService->injectConfigurationManager($configurationManager); $this->templateParser = $this->getMock($this->buildAccessibleProxy('Tx_Fluid_Core_Parser_TemplateParser'), array('dummy')); $this->codeGenerator = $this->getMock($this->buildAccessibleProxy('Tx_ExtensionBuilder_Service_CodeGenerator'), array('dummy')); if (class_exists('Tx_Extbase_Object_ObjectManager')) { $this->objectManager = t3lib_div::makeInstance('Tx_Extbase_Object_ObjectManager'); //parent::runBare(); causes a memory exhausted error?? $this->codeGenerator->injectObjectManager($this->objectManager); $this->templateParser->injectObjectManager($this->objectManager); } $this->roundTripService->injectClassParser($this->classParser); $this->roundTripService->initialize($this->extension); $this->classBuilder->injectRoundtripService($this->roundTripService); $this->classBuilder->initialize($this->codeGenerator, $this->extension); $this->codeGenerator->injectTemplateParser($this->templateParser); $this->codeGenerator->injectClassBuilder($this->classBuilder); $this->codeGenerator->setSettings(array('codeTemplateRootPath' => PATH_typo3conf . 'ext/extension_builder/Resources/Private/CodeTemplates/Extbase/', 'extConf' => array('enableRoundtrip' => '1'))); $this->codeGenerator->_set('codeTemplateRootPath', PATH_typo3conf . 'ext/extension_builder/Resources/Private/CodeTemplates/Extbase/'); $this->codeGenerator->_set('enableRoundtrip', true); $this->codeGenerator->_set('extension', $this->extension); }
/** * * @param string $extensionKey * @return array settings */ public function getExtensionSettings($extensionKey) { $settings = array(); $settingsFile = $this->getSettingsFile($extensionKey); if (file_exists($settingsFile)) { $yamlParser = new Tx_ExtensionBuilder_Utility_SpycYAMLParser(); $settings = $yamlParser->YAMLLoadString(file_get_contents($settingsFile)); } else { t3lib_div::devlog('No settings found: ' . $settingsFile, 'extension_builder', 2); } return $settings; }