Files
Chamilo/vendor/knplabs/gaufrette/spec/Gaufrette/FileSpec.php
2025-08-14 22:41:49 +02:00

192 lines
5.4 KiB
PHP

<?php
namespace spec\Gaufrette;
use Gaufrette\Filesystem;
use PhpSpec\ObjectBehavior;
interface MetadataAdapter extends \Gaufrette\Adapter,
\Gaufrette\Adapter\MetadataSupporter
{
}
class FileSpec extends ObjectBehavior
{
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function let(Filesystem $filesystem)
{
$this->beConstructedWith('filename', $filesystem);
}
function it_is_initializable()
{
$this->shouldHaveType('Gaufrette\File');
}
function it_gives_access_to_key()
{
$this->getKey()->shouldReturn('filename');
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_gets_content(Filesystem $filesystem)
{
$filesystem->read('filename')->shouldBeCalled()->willReturn('Some content');
$this->getContent()->shouldReturn('Some content');
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_gets_mtime(Filesystem $filesystem)
{
$filesystem->mtime('filename')->shouldBeCalled()->willReturn(1358797854);
$this->getMtime()->shouldReturn(1358797854);
}
/**
* @param \Gaufrette\Filesystem $filesystem
* @param \spec\Gaufrette\MetadataAdapter $adapter
*/
function it_pass_metadata_when_write_content(Filesystem $filesystem, MetadataAdapter $adapter)
{
$metadata = ['id' => '123'];
$adapter->setMetadata('filename', $metadata)->shouldBeCalled();
$filesystem->write('filename', 'some content', true)->willReturn(12);
$filesystem->getAdapter()->willReturn($adapter);
$this->setContent('some content', $metadata);
}
/**
* @param \Gaufrette\Filesystem $filesystem
* @param \spec\Gaufrette\MetadataAdapter $adapter
*/
function it_pass_metadata_when_read_content(Filesystem $filesystem, MetadataAdapter $adapter)
{
$metadata = ['id' => '123'];
$adapter->setMetadata('filename', $metadata)->shouldBeCalled();
$filesystem->read('filename')->willReturn('some content');
$filesystem->getAdapter()->willReturn($adapter);
$this->getContent($metadata);
}
/**
* @param \Gaufrette\Filesystem $filesystem
* @param \spec\Gaufrette\MetadataAdapter $adapter
*/
function it_pass_metadata_when_delete_content(Filesystem $filesystem, MetadataAdapter $adapter)
{
$metadata = ['id' => '123'];
$adapter->setMetadata('filename', $metadata)->shouldBeCalled();
$filesystem->delete('filename')->willReturn(true);
$filesystem->getAdapter()->willReturn($adapter);
$this->delete($metadata);
}
/**
* @param \Gaufrette\Filesystem $filesystem
* @param \spec\Gaufrette\MetadataAdapter $adapter
*/
function it_sets_content_of_file(Filesystem $filesystem, MetadataAdapter $adapter)
{
$adapter->setMetadata('filename', [])->shouldNotBeCalled();
$filesystem->getAdapter()->willReturn($adapter);
$filesystem->write('filename', 'some content', true)->shouldBeCalled()->willReturn(21);
$this->setContent('some content')->shouldReturn(21);
$this->getContent('filename')->shouldReturn('some content');
}
function it_sets_key_as_name_by_default()
{
$this->getName()->shouldReturn('filename');
}
function it_sets_name()
{
$this->setName('name');
$this->getName()->shouldReturn('name');
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_sets_size_for_new_file(Filesystem $filesystem)
{
$filesystem->write('filename', 'some content', true)->shouldBeCalled()->willReturn(21);
$this->setContent('some content');
$this->getSize()->shouldReturn(21);
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_calculates_size_from_filesystem(Filesystem $filesystem)
{
$filesystem->size('filename')->shouldBeCalled()->willReturn(12);
$this->getSize()->shouldReturn(12);
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_allows_to_set_size(Filesystem $filesystem)
{
$filesystem->read('filename')->shouldNotBeCalled();
$this->setSize(21);
$this->getSize()->shouldReturn(21);
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_gets_zero_size_when_file_not_found(Filesystem $filesystem)
{
$filesystem->size('filename')->willThrow(new \Gaufrette\Exception\FileNotFound('filename'));
$this->getSize()->shouldReturn(0);
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_check_if_file_with_key_exists_in_filesystem(Filesystem $filesystem)
{
$filesystem->has('filename')->willReturn(true);
$this->exists()->shouldReturn(true);
$filesystem->has('filename')->willReturn(false);
$this->exists()->shouldReturn(false);
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_deletes_file_from_filesystem(Filesystem $filesystem)
{
$filesystem->delete('filename')->shouldBeCalled()->willReturn(true);
$this->delete()->shouldReturn(true);
}
/**
* @param \Gaufrette\Filesystem $filesystem
*/
function it_renames_file_from_filesystem(Filesystem $filesystem)
{
$filesystem->rename('filename', 'newname')->shouldBeCalled();
$this->rename('newname');
}
}