Project

General

Profile

Feature #22211 » 0013697_v3.patch

Administrator Admin, 2010-03-26 23:11

View differences:

tests/t3lib/t3lib_extmgm_testcase.php (Arbeitskopie)
'newA, newB, fieldX', $GLOBALS['TCA'][$table]['palettes']['generatedFor-fieldA']['showitem']
);
}
/////////////////////////////////////////
// Tests concerning getExtensionVersion
/////////////////////////////////////////
/**
* Data provider for negative getExtensionVersion() tests.
*
* @return array
*/
public function getExtensionVersionFaultyDataProvider() {
return array(
array(''),
array(0),
array(new stdClass()),
array(TRUE),
);
}
/**
* @test
* @expectedException InvalidArgumentException
* @dataProvider getExtensionVersionFaultyDataProvider
*/
public function getExtensionVersionForFaultyExtensionKeyThrowsException($key) {
t3lib_extMgm::getExtensionVersion($key);
}
/**
* @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)
);
}
}
?>
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(
),
);
?>
t3lib/class.t3lib_extmgm.php (Arbeitskopie)
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
*/
public static function getExtensionVersion($key) {
if (!is_string($key) || empty($key)) {
throw new InvalidArgumentException('Extension key must be a non-empty string.');
}
if (!self::isLoaded($key)) {
return '';
}
$_EXTKEY = $key;
include(t3lib_extMgm::extPath($key) . 'ext_emconf.php');
return $EM_CONF[$key]['version'];
}
(4-4/4)