/** * @test */ public function getExtensionVersionForLoadedExtensionReturnsExtensionVersion() { $namespace = 'TYPO3\\CMS\\Core\\Extension'; $className = uniqid('ExtensionManager'); eval('namespace ' . $namespace . '; class ' . $className . ' extends \\TYPO3\\CMS\\Core\\Extension\\ExtensionManager {' . ' public static function isLoaded() {' . ' return TRUE;' . ' }' . '}'); $className = $namespace . '\\' . $className; \TYPO3\CMS\Core\Extension\ExtensionManager::clearExtensionKeyMap(); $uniqueSuffix = uniqid('test'); $extensionKey = 'unloadedextension' . $uniqueSuffix; $GLOBALS['TYPO3_LOADED_EXT'][$extensionKey] = array('siteRelPath' => $this->determineFixturesPath()); $this->assertEquals('1.2.3', $className::getExtensionVersion($extensionKey)); }
/** * Creates a fake extension inside typo3temp/. No configuration is created, * just the folder, plus the extension is registered in $TYPO3_LOADED_EXT * * @return string The extension key */ protected function createFakeExtension() { $extKey = strtolower(uniqid('testing')); $absExtPath = PATH_site . 'typo3temp/' . $extKey . '/'; $relPath = 'typo3temp/' . $extKey . '/'; \TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($absExtPath); $GLOBALS['TYPO3_LOADED_EXT'][$extKey] = array('siteRelPath' => $relPath); $GLOBALS['TYPO3_CONF_VARS']['EXT']['extListArray'][] = $extKey; $this->fakedExtensions[] = $extKey; \TYPO3\CMS\Core\Extension\ExtensionManager::clearExtensionKeyMap(); return $extKey; }