mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
API CHANGE deprecated some File functions and attributes API CHANGE moved management function from File to Filesystem and added permission checks: sync(), loadContent(), fixfiles(), moverootfilesto() API CHANGE deprecated use of File->loadUploaded() ENHANCEMENT added filesize and extension validation to AssetAdmin and FileField FEATURE added tests for Upload class Merged revisions 47617 via svnmerge from svn://svn.silverstripe.com/silverstripe/modules/cms/branches/2.2.0-mesq ........ r47617 | ischommer | 2008-01-04 19:20:29 +1300 (Fri, 04 Jan 2008) | 5 lines git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@52205 467b73ca-7a2a-4603-9d3b-597d59a354a9
63 lines
1.6 KiB
PHP
63 lines
1.6 KiB
PHP
<?php
|
|
class UploadTest extends SapphireTest {
|
|
|
|
function testUpload() {
|
|
// create tmp file
|
|
$tmpFileName = 'UploadTest_testUpload.txt';
|
|
$tmpFilePath = TEMP_FOLDER . '/' . $tmpFileName;
|
|
$tmpFileContent = '';
|
|
for($i=0; $i<10000; $i++) $tmpFileContent .= '0';
|
|
file_put_contents($tmpFilePath, $tmpFileContent);
|
|
|
|
// emulates the $_FILES array
|
|
$tmpFile = array(
|
|
'name' => $tmpFileName,
|
|
'type' => 'text/plaintext',
|
|
'size' => filesize($tmpFilePath),
|
|
'tmp_name' => $tmpFilePath,
|
|
'extension' => 'txt',
|
|
'error' => UPLOAD_ERR_OK,
|
|
);
|
|
|
|
// test upload into default folder
|
|
$u1 = new Upload();
|
|
$u1->load($tmpFile);
|
|
$file1 = $u1->getFile();
|
|
$this->assertTrue(
|
|
file_exists($file1->getFullPath()),
|
|
'File upload to standard directory in /assets'
|
|
);
|
|
$this->assertTrue(
|
|
(strpos($file1->getFullPath(),Director::baseFolder() . '/assets/' . Upload::$uploads_folder) !== false),
|
|
'File upload to standard directory in /assets'
|
|
);
|
|
$file1->delete();
|
|
|
|
// test upload into custom folder
|
|
$customFolder = 'UploadTest_testUpload';
|
|
$u2 = new Upload();
|
|
$u2->load($tmpFile, $customFolder);
|
|
$file2 = $u2->getFile();
|
|
$this->assertTrue(
|
|
file_exists($file2->getFullPath()),
|
|
'File upload to custom directory in /assets'
|
|
);
|
|
$this->assertTrue(
|
|
(strpos($file2->getFullPath(),Director::baseFolder() . '/assets/' . $customFolder) !== false),
|
|
'File upload to custom directory in /assets'
|
|
);
|
|
$file2->delete();
|
|
|
|
unlink($tmpFilePath);
|
|
}
|
|
|
|
function testAllowedFilesize() {
|
|
// @todo
|
|
}
|
|
|
|
function testAllowedExtensions() {
|
|
// @todo
|
|
}
|
|
|
|
}
|
|
?>
|