Project

General

Profile

Feature #22211 » 13697_v2.diff

Administrator Admin, 2010-03-25 14:02

View differences:

tests/t3lib/fixtures/ext_emconf.php (revision 0)
<?php
$EM_CONF[$_EXTKEY] = array(
'title' => '',
'description' => 'This is a fixture extension configuration file used for unit tests.',
'category' => '',
'shy' => 1,
'dependencies' => '',
'conflicts' => '',
'priority' => '',
'loadOrder' => '',
'module' => '',
'state' => 'stable',
'internal' => 1,
'uploadfolder' => 0,
'createDirs' => '',
'modify_tables' => '',
'clearCacheOnLoad' => 0,
'lockType' => '',
'author' => '',
'author_email' => '',
'author_company' => '',
'CGLcompliance' => '',
'CGLcompliance_note' => '',
'version' => '1.2.3',
'_md5_values_when_last_written' => '',
'constraints' => array(
'depends' => array(
),
'conflicts' => array(
),
'suggests' => array(
),
),
'suggests' => array(
),
);
?>
tests/t3lib/t3lib_extmgm_testcase.php (working copy)
'newA, newB, fieldX', $GLOBALS['TCA'][$table]['palettes']['generatedFor-fieldA']['showitem']
);
}
/////////////////////////////////////////
// Tests concerning getExtensionVersion
/////////////////////////////////////////
/**
* @test
*/
public function getExtensionVersionForEmptyExtensionKeyThrowsException() {
$this->setExpectedException(
't3lib_exception', '$key must not be empty.'
);
t3lib_extMgm::getExtensionVersion('');
}
/**
* @test
*/
public function getExtensionVersionForNotLoadedExtensionReturnsEmptyString() {
t3lib_extMgm::clearExtensionKeyMap();
$uniqueSuffix = uniqid('test');
$extensionKey = 'unloadedextension' . $uniqueSuffix;
$this->assertEquals(
'',
t3lib_extMgm::getExtensionVersion($extensionKey)
);
}
/**
* @test
*/
public function getExtensionVersionForLoadedExtensionReturnsExtensionVersion() {
t3lib_extMgm::clearExtensionKeyMap();
$uniqueSuffix = uniqid('test');
$extensionKey = 'unloadedextension' . $uniqueSuffix;
$GLOBALS['TYPO3_LOADED_EXT'][$extensionKey] = array(
'siteRelPath' => 'typo3_src/tests/t3lib/fixtures/',
);
$this->assertEquals(
'1.2.3',
t3lib_extMgm::getExtensionVersion($extensionKey)
);
}
}
?>
t3lib/class.t3lib_extmgm.php (working copy)
self::$extensionKeyMap = NULL;
}
/**
* Retrieves the version of an installed extension.
*
* If the extension is not installed, this function returns an empty string.
*
* @param string $key the key of the extension to look up, must not be empty
*
* @return string the extension version as a string in the format "x.y.z",
* will be an empty string if the extension is not loaded
*/
static public function getExtensionVersion($key) {
if ($key === '') {
throw new t3lib_exception('$key must not be empty.');
}
if (!self::isLoaded($key)) {
return '';
}
$_EXTKEY = $key;
include(t3lib_extMgm::extPath($key) . 'ext_emconf.php');
return $EM_CONF[$key]['version'];
}
(3-3/4)