本文整理汇总了PHP中TYPO3\CMS\Core\Resource\ResourceStorage::setFileContents方法的典型用法代码示例。如果您正苦于以下问题:PHP ResourceStorage::setFileContents方法的具体用法?PHP ResourceStorage::setFileContents怎么用?PHP ResourceStorage::setFileContents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\CMS\Core\Resource\ResourceStorage
的用法示例。
在下文中一共展示了ResourceStorage::setFileContents方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setFileContentsUpdatesObjectProperties
/**
* @test
* @group integration
* @TODO: Rewrite or move to functional suite
*/
public function setFileContentsUpdatesObjectProperties()
{
$this->markTestSkipped('This test does way to much and is mocked incomplete. Skipped for now.');
$this->initializeVfs();
$driverObject = $this->getMockForAbstractClass(AbstractDriver::class, array(), '', false);
$this->subject = $this->getMock(ResourceStorage::class, array('getFileIndexRepository', 'checkFileActionPermission'), array($driverObject, array()));
$this->subject->expects($this->any())->method('checkFileActionPermission')->will($this->returnValue(true));
$fileInfo = array('storage' => 'A', 'identifier' => 'B', 'mtime' => 'C', 'ctime' => 'D', 'mimetype' => 'E', 'size' => 'F', 'name' => 'G');
$newProperties = array('storage' => $fileInfo['storage'], 'identifier' => $fileInfo['identifier'], 'tstamp' => $fileInfo['mtime'], 'crdate' => $fileInfo['ctime'], 'mime_type' => $fileInfo['mimetype'], 'size' => $fileInfo['size'], 'name' => $fileInfo['name']);
$hash = 'asdfg';
/** @var $mockedDriver LocalDriver|\PHPUnit_Framework_MockObject_MockObject */
$mockedDriver = $this->getMock(LocalDriver::class, array(), array(array('basePath' => $this->getMountRootUrl())));
$mockedDriver->expects($this->once())->method('getFileInfoByIdentifier')->will($this->returnValue($fileInfo));
$mockedDriver->expects($this->once())->method('hash')->will($this->returnValue($hash));
$this->subject->setDriver($mockedDriver);
$indexFileRepositoryMock = $this->getMock(FileIndexRepository::class);
$this->subject->expects($this->any())->method('getFileIndexRepository')->will($this->returnValue($indexFileRepositoryMock));
/** @var $mockedFile File|\PHPUnit_Framework_MockObject_MockObject */
$mockedFile = $this->getMock(File::class, array(), array(), '', false);
$mockedFile->expects($this->any())->method('getIdentifier')->will($this->returnValue($fileInfo['identifier']));
// called by indexer because the properties are updated
$this->subject->expects($this->any())->method('getFileInfoByIdentifier')->will($this->returnValue($newProperties));
$mockedFile->expects($this->any())->method('getStorage')->will($this->returnValue($this->subject));
$mockedFile->expects($this->any())->method('getProperties')->will($this->returnValue(array_keys($fileInfo)));
$mockedFile->expects($this->any())->method('getUpdatedProperties')->will($this->returnValue(array_keys($newProperties)));
// do not update directly; that's up to the indexer
$indexFileRepositoryMock->expects($this->never())->method('update');
$this->subject->setFileContents($mockedFile, $this->getUniqueId());
}
示例2: setFileContentsUpdatesObjectProperties
/**
* @test
* @group integration
* @TODO: Rewrite or move to functional suite
*/
public function setFileContentsUpdatesObjectProperties()
{
$this->markTestSkipped('This test does way to much and is mocked incomplete. Skipped for now.');
$this->initializeVfs();
$driverObject = $this->getMockForAbstractClass('TYPO3\\CMS\\Core\\Resource\\Driver\\AbstractDriver', array(), '', FALSE);
$this->fixture = $this->getMock('TYPO3\\CMS\\Core\\Resource\\ResourceStorage', array('getFileIndexRepository', 'checkFileActionPermission'), array($driverObject, array()));
$this->fixture->expects($this->any())->method('checkFileActionPermission')->will($this->returnValue(TRUE));
$fileInfo = array('storage' => 'A', 'identifier' => 'B', 'mtime' => 'C', 'ctime' => 'D', 'mimetype' => 'E', 'size' => 'F', 'name' => 'G');
$newProperties = array('storage' => $fileInfo['storage'], 'identifier' => $fileInfo['identifier'], 'tstamp' => $fileInfo['mtime'], 'crdate' => $fileInfo['ctime'], 'mime_type' => $fileInfo['mimetype'], 'size' => $fileInfo['size'], 'name' => $fileInfo['name']);
$hash = 'asdfg';
$driver = $this->getMock('TYPO3\\CMS\\Core\\Resource\\Driver\\LocalDriver', array(), array(array('basePath' => $this->getMountRootUrl())));
$driver->expects($this->once())->method('getFileInfoByIdentifier')->will($this->returnValue($fileInfo));
$driver->expects($this->once())->method('hash')->will($this->returnValue($hash));
$this->fixture->setDriver($driver);
$indexFileRepositoryMock = $this->getMock('TYPO3\\CMS\\Core\\Resource\\Index\\FileIndexRepository');
$this->fixture->expects($this->any())->method('getFileIndexRepository')->will($this->returnValue($indexFileRepositoryMock));
$mockedFile = $this->getMock('TYPO3\\CMS\\Core\\Resource\\File', array(), array(), '', FALSE);
$mockedFile->expects($this->any())->method('getIdentifier')->will($this->returnValue($fileInfo['identifier']));
// called by indexer because the properties are updated
$this->fixture->expects($this->any())->method('getFileInfoByIdentifier')->will($this->returnValue($newProperties));
$mockedFile->expects($this->any())->method('getStorage')->will($this->returnValue($this->fixture));
$mockedFile->expects($this->any())->method('getProperties')->will($this->returnValue(array_keys($fileInfo)));
$mockedFile->expects($this->any())->method('getUpdatedProperties')->will($this->returnValue(array_keys($newProperties)));
// do not update directly; that's up to the indexer
$indexFileRepositoryMock->expects($this->never())->method('update');
$this->fixture->setFileContents($mockedFile, uniqid());
}
示例3: setFileContentsUpdatesObjectProperties
/**
* @test
* @group integration
*/
public function setFileContentsUpdatesObjectProperties()
{
$fileContents = 'asdf';
$this->initializeVfs();
$this->prepareFixture(array(), TRUE);
$fileProperties = array('someProperty' => 'value', 'someOtherProperty' => 42);
$hash = 'asdfg';
$driver = $this->getMock('TYPO3\\CMS\\Core\\Resource\\Driver\\LocalDriver', array(), array(array('basePath' => $this->getMountRootUrl())));
$driver->expects($this->once())->method('getFileInfo')->will($this->returnValue($fileProperties));
$driver->expects($this->once())->method('hash')->will($this->returnValue($hash));
$this->fixture->setDriver($driver);
$mockedFile = $this->getMock('TYPO3\\CMS\\Core\\Resource\\File', array(), array(), '', FALSE);
$mockedFile->expects($this->any())->method('getIdentifier')->will($this->returnValue('/file.ext'));
$mockedFile->expects($this->once())->method('updateProperties')->with($this->equalTo(array_merge($fileProperties, array('sha1' => $hash))));
$this->fixture->setFileContents($mockedFile, uniqid());
}