Files
Chamilo/vendor/knplabs/gaufrette/tests/Gaufrette/Functional/FileStream/LocalTest.php
2025-04-10 12:24:57 +02:00

60 lines
1.5 KiB
PHP

<?php
namespace Gaufrette\Functional\FileStream;
use Gaufrette\Filesystem;
use Gaufrette\Adapter\Local as LocalAdapter;
class LocalTest extends FunctionalTestCase
{
protected $directory;
protected function setUp(): void
{
$this->directory = __DIR__ . DIRECTORY_SEPARATOR . 'filesystem';
@mkdir($this->directory . DIRECTORY_SEPARATOR . 'subdir', 0777, true);
umask(0002);
$this->filesystem = new Filesystem(new LocalAdapter($this->directory, true, 0770));
$this->registerLocalFilesystemInStream();
}
/**
* @test
*/
public function shouldChmodDirectory(): void
{
if (strtolower(substr(PHP_OS, 0, 3)) === 'win') {
$this->markTestSkipped('Chmod and umask are not available on Windows.');
}
$r = fopen('gaufrette://filestream/foo/bar', 'a+');
fclose($r);
$perms = fileperms($this->directory . '/foo/');
$this->assertEquals('0770', substr(sprintf('%o', $perms), -4));
}
protected function tearDown(): void
{
$adapter = $this->filesystem->getAdapter();
foreach ($this->filesystem->keys() as $key) {
$adapter->delete($key);
}
$this->filesystem = null;
rmdir($this->directory);
}
/**
* @test
*/
public function shouldSupportsDirectory(): void
{
$this->assertFileExists('gaufrette://filestream/subdir');
$this->assertDirectoryExists('gaufrette://filestream/subdir');
}
}