/** * @test */ public function createFolderCreatesNestedStructureEvenIfPartsAlreadyExist() { $this->addToMount(array('existingFolder' => array())); $this->initializeVfs(); $mockedDriver = $this->createDriverMock(array('basePath' => $this->getMountRootUrl()), NULL, NULL); $this->prepareFixture(array(), TRUE, $mockedDriver); $rootFolder = $this->fixture->getFolder('/'); $newFolder = $this->fixture->createFolder('existingFolder/someFolder', $rootFolder); $this->assertEquals('someFolder', $newFolder->getName()); $this->assertFileExists($this->getUrlInMount('existingFolder/someFolder')); }
/** * @test * @TODO: Rewrite or move to functional suite */ public function createFolderCreatesNestedStructureEvenIfPartsAlreadyExist() { $this->markTestSkipped('This test does way to much and is mocked incomplete. Skipped for now.'); $this->addToMount(array('existingFolder' => array())); $this->initializeVfs(); $mockedDriver = $this->createDriverMock(array('basePath' => $this->getMountRootUrl()), null, null); $this->prepareSubject(array(), true, $mockedDriver); $rootFolder = $this->subject->getFolder('/'); $newFolder = $this->subject->createFolder('existingFolder/someFolder', $rootFolder); $this->assertEquals('someFolder', $newFolder->getName()); $this->assertFileExists($this->getUrlInMount('existingFolder/someFolder')); }
/** * Set the storage and folder to use for the Plugins * * @throws \Exception * @throws \TYPO3\CMS\Core\Resource\Exception\InsufficientFolderAccessPermissionsException * @return void */ protected function resolveStorageInformation() { $selectedFolderParts = explode(':', $this->settings['default']['folder']); $this->selectedStorage = $this->storageRepository->findByUid($selectedFolderParts[1]); $this->selectedFolder = $this->selectedStorage->getFolder($selectedFolderParts[2]); }
/** * Return a new target folder when moving file from one storage to another. * * @param ResourceStorage $storage * @param File $file * @return \TYPO3\CMS\Core\Resource\Folder */ public function getDefaultFolderInStorage(ResourceStorage $storage, File $file) { // default is the root level $folder = $storage->getRootLevelFolder(); // Retrieve storage record and a possible configured mount point. $storageRecord = $storage->getStorageRecord(); $mountPointIdentifier = $storageRecord['mount_point_file_type_' . $file->getType()]; if ($mountPointIdentifier > 0) { // We don't have a Mount Point repository in FAL, so query the database directly. $record = $this->getDatabaseConnection()->exec_SELECTgetSingleRow('path', 'sys_filemounts', 'deleted = 0 AND uid = ' . $mountPointIdentifier); if (!empty($record['path'])) { $folder = $storage->getFolder($record['path']); } } return $folder; }