Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace League\Flysystem\PathPrefixing; use League\Flysystem\ChecksumProvider; u..
Decoded Output download
<?php
namespace League\Flysystem\PathPrefixing;
use League\Flysystem\ChecksumProvider;
use League\Flysystem\Config;
use League\Flysystem\InMemory\InMemoryFilesystemAdapter;
use League\Flysystem\UnableToGeneratePublicUrl;
use League\Flysystem\UrlGeneration\PublicUrlGenerator;
use League\Flysystem\Visibility;
use PHPUnit\Framework\TestCase;
use function iterator_to_array;
class PathPrefixedAdapterTest extends TestCase
{
public function testPrefix(): void
{
$adapter = new InMemoryFilesystemAdapter();
$prefix = new PathPrefixedAdapter($adapter, 'foo');
$prefix->write('foo.txt', 'bla', new Config);
static::assertTrue($prefix->fileExists('foo.txt'));
static::assertFalse($prefix->directoryExists('foo.txt'));
static::assertTrue($adapter->fileExists('foo/foo.txt'));
static::assertFalse($adapter->directoryExists('foo/foo.txt'));
static::assertSame('bla', $prefix->read('foo.txt'));
static::assertSame('bla', stream_get_contents($prefix->readStream('foo.txt')));
static::assertSame('text/plain', $prefix->mimeType('foo.txt')->mimeType());
static::assertSame(3, $prefix->fileSize('foo.txt')->fileSize());
static::assertSame(Visibility::PUBLIC, $prefix->visibility('foo.txt')->visibility());
$prefix->setVisibility('foo.txt', Visibility::PRIVATE);
static::assertSame(Visibility::PRIVATE, $prefix->visibility('foo.txt')->visibility());
static::assertEqualsWithDelta($prefix->lastModified('foo.txt')->lastModified(), time(), 2);
$prefix->copy('foo.txt', 'bla.txt', new Config);
static::assertTrue($prefix->fileExists('bla.txt'));
$prefix->createDirectory('dir', new Config());
static::assertTrue($prefix->directoryExists('dir'));
static::assertFalse($prefix->directoryExists('dir2'));
$prefix->deleteDirectory('dir');
static::assertFalse($prefix->directoryExists('dir'));
$prefix->move('bla.txt', 'bla2.txt', new Config());
static::assertFalse($prefix->fileExists('bla.txt'));
static::assertTrue($prefix->fileExists('bla2.txt'));
$prefix->delete('bla2.txt');
static::assertFalse($prefix->fileExists('bla2.txt'));
$prefix->createDirectory('test', new Config());
$files = iterator_to_array($prefix->listContents('', true));
static::assertCount(2, $files);
}
public function testWriteStream(): void
{
$adapter = new InMemoryFilesystemAdapter();
$prefix = new PathPrefixedAdapter($adapter, 'foo');
$tmpFile = sys_get_temp_dir() . '/' . uniqid('test', true);
file_put_contents($tmpFile, 'test');
$prefix->writeStream('a.txt', fopen($tmpFile, 'rb'), new Config());
static::assertTrue($prefix->fileExists('a.txt'));
static::assertSame('test', $prefix->read('a.txt'));
static::assertSame('test', stream_get_contents($prefix->readStream('a.txt')));
unlink($tmpFile);
}
public function testEmptyPrefix(): void
{
static::expectException(\InvalidArgumentException::class);
new PathPrefixedAdapter(new InMemoryFilesystemAdapter(), '');
}
/**
* @test
*/
public function generating_a_public_url(): void
{
$adapter = new class() extends InMemoryFilesystemAdapter implements PublicUrlGenerator {
public function publicUrl(string $path, Config $config): string
{
return 'memory://' . ltrim($path, '/');
}
};
$prefixedAdapter = new PathPrefixedAdapter($adapter, 'prefix');
$url = $prefixedAdapter->publicUrl('/path.txt', new Config());
self::assertEquals('memory://prefix/path.txt', $url);
}
/**
* @test
*/
public function calculate_checksum_using_decorated_adapter(): void
{
$adapter = new class() extends InMemoryFilesystemAdapter implements ChecksumProvider {
public function checksum(string $path, Config $config): string
{
return hash('md5', $this->read($path));
}
};
$prefixedAdapter = new PathPrefixedAdapter($adapter, 'prefix');
$prefixedAdapter->write('foo.txt', 'bla', new Config);
self::assertEquals('128ecf542a35ac5270a87dc740918404', $prefixedAdapter->checksum('foo.txt', new Config()));
}
/**
* @test
*/
public function calculate_checksum_using_current_adapter(): void
{
$adapter = new InMemoryFilesystemAdapter();
$prefixedAdapter = new PathPrefixedAdapter($adapter, 'prefix');
$prefixedAdapter->write('foo.txt', 'bla', new Config);
self::assertEquals('128ecf542a35ac5270a87dc740918404', hash('md5', 'bla'));
self::assertEquals('128ecf542a35ac5270a87dc740918404', $prefixedAdapter->checksum('foo.txt', new Config()));
}
/**
* @test
*/
public function failing_to_generate_a_public_url(): void
{
$prefixedAdapter = new PathPrefixedAdapter(new InMemoryFilesystemAdapter(), 'prefix');
$this->expectException(UnableToGeneratePublicUrl::class);
$prefixedAdapter->publicUrl('/path.txt', new Config());
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace League\Flysystem\PathPrefixing;
use League\Flysystem\ChecksumProvider;
use League\Flysystem\Config;
use League\Flysystem\InMemory\InMemoryFilesystemAdapter;
use League\Flysystem\UnableToGeneratePublicUrl;
use League\Flysystem\UrlGeneration\PublicUrlGenerator;
use League\Flysystem\Visibility;
use PHPUnit\Framework\TestCase;
use function iterator_to_array;
class PathPrefixedAdapterTest extends TestCase
{
public function testPrefix(): void
{
$adapter = new InMemoryFilesystemAdapter();
$prefix = new PathPrefixedAdapter($adapter, 'foo');
$prefix->write('foo.txt', 'bla', new Config);
static::assertTrue($prefix->fileExists('foo.txt'));
static::assertFalse($prefix->directoryExists('foo.txt'));
static::assertTrue($adapter->fileExists('foo/foo.txt'));
static::assertFalse($adapter->directoryExists('foo/foo.txt'));
static::assertSame('bla', $prefix->read('foo.txt'));
static::assertSame('bla', stream_get_contents($prefix->readStream('foo.txt')));
static::assertSame('text/plain', $prefix->mimeType('foo.txt')->mimeType());
static::assertSame(3, $prefix->fileSize('foo.txt')->fileSize());
static::assertSame(Visibility::PUBLIC, $prefix->visibility('foo.txt')->visibility());
$prefix->setVisibility('foo.txt', Visibility::PRIVATE);
static::assertSame(Visibility::PRIVATE, $prefix->visibility('foo.txt')->visibility());
static::assertEqualsWithDelta($prefix->lastModified('foo.txt')->lastModified(), time(), 2);
$prefix->copy('foo.txt', 'bla.txt', new Config);
static::assertTrue($prefix->fileExists('bla.txt'));
$prefix->createDirectory('dir', new Config());
static::assertTrue($prefix->directoryExists('dir'));
static::assertFalse($prefix->directoryExists('dir2'));
$prefix->deleteDirectory('dir');
static::assertFalse($prefix->directoryExists('dir'));
$prefix->move('bla.txt', 'bla2.txt', new Config());
static::assertFalse($prefix->fileExists('bla.txt'));
static::assertTrue($prefix->fileExists('bla2.txt'));
$prefix->delete('bla2.txt');
static::assertFalse($prefix->fileExists('bla2.txt'));
$prefix->createDirectory('test', new Config());
$files = iterator_to_array($prefix->listContents('', true));
static::assertCount(2, $files);
}
public function testWriteStream(): void
{
$adapter = new InMemoryFilesystemAdapter();
$prefix = new PathPrefixedAdapter($adapter, 'foo');
$tmpFile = sys_get_temp_dir() . '/' . uniqid('test', true);
file_put_contents($tmpFile, 'test');
$prefix->writeStream('a.txt', fopen($tmpFile, 'rb'), new Config());
static::assertTrue($prefix->fileExists('a.txt'));
static::assertSame('test', $prefix->read('a.txt'));
static::assertSame('test', stream_get_contents($prefix->readStream('a.txt')));
unlink($tmpFile);
}
public function testEmptyPrefix(): void
{
static::expectException(\InvalidArgumentException::class);
new PathPrefixedAdapter(new InMemoryFilesystemAdapter(), '');
}
/**
* @test
*/
public function generating_a_public_url(): void
{
$adapter = new class() extends InMemoryFilesystemAdapter implements PublicUrlGenerator {
public function publicUrl(string $path, Config $config): string
{
return 'memory://' . ltrim($path, '/');
}
};
$prefixedAdapter = new PathPrefixedAdapter($adapter, 'prefix');
$url = $prefixedAdapter->publicUrl('/path.txt', new Config());
self::assertEquals('memory://prefix/path.txt', $url);
}
/**
* @test
*/
public function calculate_checksum_using_decorated_adapter(): void
{
$adapter = new class() extends InMemoryFilesystemAdapter implements ChecksumProvider {
public function checksum(string $path, Config $config): string
{
return hash('md5', $this->read($path));
}
};
$prefixedAdapter = new PathPrefixedAdapter($adapter, 'prefix');
$prefixedAdapter->write('foo.txt', 'bla', new Config);
self::assertEquals('128ecf542a35ac5270a87dc740918404', $prefixedAdapter->checksum('foo.txt', new Config()));
}
/**
* @test
*/
public function calculate_checksum_using_current_adapter(): void
{
$adapter = new InMemoryFilesystemAdapter();
$prefixedAdapter = new PathPrefixedAdapter($adapter, 'prefix');
$prefixedAdapter->write('foo.txt', 'bla', new Config);
self::assertEquals('128ecf542a35ac5270a87dc740918404', hash('md5', 'bla'));
self::assertEquals('128ecf542a35ac5270a87dc740918404', $prefixedAdapter->checksum('foo.txt', new Config()));
}
/**
* @test
*/
public function failing_to_generate_a_public_url(): void
{
$prefixedAdapter = new PathPrefixedAdapter(new InMemoryFilesystemAdapter(), 'prefix');
$this->expectException(UnableToGeneratePublicUrl::class);
$prefixedAdapter->publicUrl('/path.txt', new Config());
}
}
Function Calls
None |
Stats
MD5 | b650a78a8e1e3dd19769451a7cb78cf7 |
Eval Count | 0 |
Decode Time | 84 ms |