mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-09-12 12:36:59 +02:00
BUGFIX Fixed Folder::findOrMake() not to create "new-folder" through File->setName() if using a trailing slash in the path (which causes an empty name). Added FolderTest to verify this. (from r101266) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@111984 467b73ca-7a2a-4603-9d3b-597d59a354a9
36 lines
1.1 KiB
PHP
36 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
* @author Ingo Schommer (ingo at silverstripe dot com)
|
|
* @todo There's currently no way to save outside of assets/ folder
|
|
*
|
|
* @package sapphire
|
|
* @subpackage tests
|
|
*/
|
|
class FolderTest extends SapphireTest {
|
|
|
|
function tearDown() {
|
|
$testPath = ASSETS_PATH . '/FolderTest';
|
|
if(file_exists($testPath)) Filesystem::removeFolder($testPath);
|
|
|
|
parent::tearDown();
|
|
}
|
|
|
|
function testFindOrMake() {
|
|
$path = '/FolderTest/testFindOrMake/';
|
|
$folder = Folder::findOrMake($path);
|
|
$this->assertEquals(ASSETS_DIR . $path,$folder->getRelativePath(),
|
|
'Nested path information is correctly saved to database (with trailing slash)'
|
|
);
|
|
|
|
$this->assertTrue(file_exists(ASSETS_PATH . $path), 'File');
|
|
$parentFolder = DataObject::get_one('Folder', '"Name" = \'FolderTest\'');
|
|
$this->assertNotNull($parentFolder);
|
|
$this->assertEquals($parentFolder->ID, $folder->ParentID);
|
|
|
|
$path = '/FolderTest/testFindOrMake';
|
|
$folder = Folder::findOrMake($path);
|
|
$this->assertEquals(ASSETS_DIR . $path . '/',$folder->getRelativePath(),
|
|
'Path information is correctly saved to database (without trailing slash)'
|
|
);
|
|
}
|
|
} |