TYPO3 CMS  TYPO3_7-6
AbstractFileTest.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
20 
25 {
29  public function getParentFolderGetsParentFolderFromStorage()
30  {
31  $parentIdentifier = '/parent/';
32  $currentIdentifier = '/parent/current/';
33 
35  $mockedStorageForParent = $this->getMock(ResourceStorage::class, [], [], '', false);
36 
38  $parentFolderFixture = $this->getMockForAbstractClass(AbstractFile::class);
39  $parentFolderFixture->setIdentifier($parentIdentifier)->setStorage($mockedStorageForParent);
40 
42  $mockedStorage = $this->getMock(ResourceStorage::class, ['getFolderIdentifierFromFileIdentifier', 'getFolder'], [], '', false);
43  $mockedStorage->expects($this->once())->method('getFolderIdentifierFromFileIdentifier')->with($currentIdentifier)->will($this->returnValue($parentIdentifier));
44  $mockedStorage->expects($this->once())->method('getFolder')->with($parentIdentifier)->will($this->returnValue($parentFolderFixture));
45 
47  $currentFolderFixture = $this->getMockForAbstractClass(AbstractFile::class);
48  $currentFolderFixture->setIdentifier($currentIdentifier)->setStorage($mockedStorage);
49 
50  $this->assertSame($parentFolderFixture, $currentFolderFixture->getParentFolder());
51  }
52 
61  public function storageIsNotAskedForMimeTypeForPersistedRecord()
62  {
64  $mockedStorage = $this->getMockBuilder(ResourceStorage::class)->disableOriginalConstructor()->getMock();
65  $mockedStorage->expects($this->never())->method('getFileInfoByIdentifier')->with('/foo', 'mimetype');
66  $subject = new File(['identifier' => '/foo', 'mime_type' => 'my/mime-type'], $mockedStorage);
67 
68  $this->assertEquals('my/mime-type', $subject->getMimeType());
69  }
70 }