* @see upload_to_tempfile(), tempnam()
*/
static public function unlink_tempfile($uploadedTempFileName) {
- if ($uploadedTempFileName && self::validPathStr($uploadedTempFileName) && self::isFirstPartOfStr($uploadedTempFileName, PATH_site . 'typo3temp/') && @is_file($uploadedTempFileName)) {
- if (unlink($uploadedTempFileName)) {
- return TRUE;
+ if ($uploadedTempFileName) {
+ $uploadedTempFileName = self::fixWindowsFilePath($uploadedTempFileName);
+ if (self::validPathStr($uploadedTempFileName) && self::isFirstPartOfStr($uploadedTempFileName, PATH_site . 'typo3temp/') && @is_file($uploadedTempFileName)) {
+ if (unlink($uploadedTempFileName)) {
+ return TRUE;
+ }
}
}
}
$this->assertEquals('', \TYPO3\CMS\Core\Utility\GeneralUtility::sanitizeLocalUrl(rawurlencode($url)));
}
+ ////////////////////////////////////////
+ // Tests concerning sanitizeLocalUrl
+ ////////////////////////////////////////
+
+ /**
+ * @test
+ */
+ public function unlink_tempfileRemovesValidFileInTypo3temp() {
+ $fixtureFile = __DIR__ . '/Fixtures/clear.gif';
+ $testFilename = PATH_site . 'typo3temp/' . uniqid('test_') . '.gif';
+ @copy($fixtureFile, $testFilename);
+ \TYPO3\CMS\Core\Utility\GeneralUtility::unlink_tempfile($testFilename);
+ $fileExists = file_exists($testFilename);
+ @unlink($testFilename);
+ $this->assertFalse($fileExists);
+ }
+
+ /**
+ * @test
+ */
+ public function unlink_tempfileReturnsTrueIfFileWasRemoved() {
+ $fixtureFile = __DIR__ . '/Fixtures/clear.gif';
+ $testFilename = PATH_site . 'typo3temp/' . uniqid('test_') . '.gif';
+ @copy($fixtureFile, $testFilename);
+ $returnValue = \TYPO3\CMS\Core\Utility\GeneralUtility::unlink_tempfile($testFilename);
+ @unlink($testFilename);
+ $this->assertTrue($returnValue);
+ }
+
+ /**
+ * @test
+ */
+ public function unlink_tempfileReturnsNullIfFileDoesNotExist() {
+ $returnValue = \TYPO3\CMS\Core\Utility\GeneralUtility::unlink_tempfile(PATH_site . 'typo3temp/' . uniqid('i_do_not_exist'));
+ $this->assertNull($returnValue);
+ }
+
+ /**
+ * @test
+ */
+ public function unlink_tempfileReturnsNullIfFileIsNowWithinTypo3temp() {
+ $returnValue = \TYPO3\CMS\Core\Utility\GeneralUtility::unlink_tempfile('/tmp/typo3-unit-test-unlink_tempfile');
+ $this->assertNull($returnValue);
+ }
+
+
//////////////////////////////////////
// Tests concerning addSlashesOnArray
//////////////////////////////////////