Project

General

Profile

Bug #22979 » bug_14845.diff

Administrator Admin, 2010-06-25 09:44

View differences:

tests/t3lib/t3lib_divTest.php (Arbeitskopie)
$this->assertTrue($mkdirResult);
$this->assertTrue($directoryCreated);
}
/**
* Checks if t3lib_div::split_fileref() return NO file extension if incomming $fileref is a folder
* This test avoid bug #0014845: Filelist module reports "type" of files also for directories
* This test assumes directory 'PATH_site'/typo3temp exists
*
* @test
* @see t3lib_div::split_fileref()
*/
public function checkIfSplitFileRefReturnFileTypeNotForFolders(){
$directoryName = uniqid('test_');
$directoryPath = PATH_site . 'typo3temp/';
$directory = $directoryPath . $directoryName;
mkdir($directory, octdec($GLOBALS['TYPO3_CONF_VARS']['BE']['folderCreateMask']));
$fileInfo = t3lib_div::split_fileref($directory);
$directoryCreated = is_dir($directory);
$this->assertTrue($directoryCreated);
$this->assertType(PHPUnit_Framework_Constraint_IsType::TYPE_ARRAY, $fileInfo);
$this->assertEquals($directoryPath, $fileInfo['path']);
$this->assertEquals($directoryName, $fileInfo['file']);
$this->assertEquals($directoryName, $fileInfo['filebody']);
$this->assertEquals('', $fileInfo['fileext']);
$this->assertArrayNotHasKey('realFileext', $fileInfo);
rmdir($directory);
}
}
?>
t3lib/class.t3lib_div.php (Arbeitskopie)
*/
public static function split_fileref($fileref) {
$reg = array();
if (preg_match('/(.*\/)(.*)$/',$fileref,$reg) ) {
if (preg_match('/(.*\/)(.*)$/', $fileref, $reg)) {
$info['path'] = $reg[1];
$info['file'] = $reg[2];
} else {
$info['path'] = '';
$info['file'] = $fileref;
}
$reg='';
if ( preg_match('/(.*)\.([^\.]*$)/',$info['file'],$reg) ) {
$reg = '';
if (is_file($fileref) && preg_match('/(.*)\.([^\.]*$)/', $info['file'], $reg)) {
$info['filebody'] = $reg[1];
$info['fileext'] = strtolower($reg[2]);
$info['realFileext'] = $reg[2];
(2-2/2)