diff --git a/typo3/sysext/core/Classes/Resource/Folder.php b/typo3/sysext/core/Classes/Resource/Folder.php index 8714c0d58168ddf844f7a2e5409e26c69fd2d9a7..da091e6576682e62183ec10758dcef26544e006d 100644 --- a/typo3/sysext/core/Classes/Resource/Folder.php +++ b/typo3/sysext/core/Classes/Resource/Folder.php @@ -81,7 +81,7 @@ class Folder implements FolderInterface public function __construct(ResourceStorage $storage, $identifier, $name) { $this->storage = $storage; - $this->identifier = rtrim($identifier, '/') . '/'; + $this->identifier = $identifier; $this->name = $name; } diff --git a/typo3/sysext/core/Tests/Unit/Resource/FolderTest.php b/typo3/sysext/core/Tests/Unit/Resource/FolderTest.php index 0a84a7f80c706e3cbd6c4b301dc5fecbc1113e52..321d7e6ac2df3a0d422504adb66c307557da6657 100644 --- a/typo3/sysext/core/Tests/Unit/Resource/FolderTest.php +++ b/typo3/sysext/core/Tests/Unit/Resource/FolderTest.php @@ -137,6 +137,33 @@ class FolderTest extends \TYPO3\CMS\Core\Tests\UnitTestCase $fixture->getFiles(0, 0, \TYPO3\CMS\Core\Resource\Folder::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS, true); } + /** + * @test + */ + public function getSubfolderCallsFactoryWithCorrectArguments() + { + $mockedStorage = $this->getMock(\TYPO3\CMS\Core\Resource\ResourceStorage::class, array(), array(), '', false); + $mockedStorage->expects($this->once())->method('hasFolderInFolder')->with($this->equalTo('someSubfolder'))->will($this->returnValue(true)); + /** @var \PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Resource\ResourceFactory $mockedFactory */ + $mockedFactory = $this->getMock(\TYPO3\CMS\Core\Resource\ResourceFactory::class); + $folderFixture = $this->createFolderFixture( + '/somePath/someFolder/', + 'someFolder', + $mockedStorage + ); + $subfolderFixture = $this->createFolderFixture( + '/somePath/someSubfolder/', + 'someSubfolder', + $mockedStorage + ); + $mockedStorage->expects($this->once())->method('getFolderInFolder')->will($this->returnValue($subfolderFixture)); + \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance( + \TYPO3\CMS\Core\Resource\ResourceFactory::class, + $mockedFactory + ); + $this->assertEquals($subfolderFixture, $folderFixture->getSubfolder('someSubfolder')); + } + /** * @test */ diff --git a/typo3/sysext/core/Tests/Unit/Resource/ResourceFactoryTest.php b/typo3/sysext/core/Tests/Unit/Resource/ResourceFactoryTest.php index 0369a492aa46ba817a788893b648c0a90aca2b98..72280f03c422b24f34c17bf0454e921961ccd95b 100644 --- a/typo3/sysext/core/Tests/Unit/Resource/ResourceFactoryTest.php +++ b/typo3/sysext/core/Tests/Unit/Resource/ResourceFactoryTest.php @@ -62,7 +62,7 @@ class ResourceFactoryTest extends \TYPO3\CMS\Core\Tests\UnitTestCase $name = $this->getUniqueId(); $storageCollection = $this->subject->createFolderObject($mockedMount, $path, $name, 0); $this->assertSame($mockedMount, $storageCollection->getStorage()); - $this->assertEquals($path . '/', $storageCollection->getIdentifier()); + $this->assertEquals($path, $storageCollection->getIdentifier()); $this->assertEquals($name, $storageCollection->getName()); }