80 lines
No EOL
2.1 KiB
PHP
80 lines
No EOL
2.1 KiB
PHP
<?php
|
|
|
|
namespace Appwrite\Tests;
|
|
|
|
use Appwrite\Storage\Compression\Algorithms\GZIP;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class GZIPTest extends TestCase
|
|
{
|
|
/**
|
|
* @var GZIP
|
|
*/
|
|
protected $object = null;
|
|
|
|
public function setUp()
|
|
{
|
|
$this->object = new GZIP();
|
|
}
|
|
|
|
public function tearDown()
|
|
{
|
|
}
|
|
|
|
public function testName()
|
|
{
|
|
$this->assertEquals($this->object->getName(), 'gzip');
|
|
}
|
|
|
|
public function testCompressDecompressWithText()
|
|
{
|
|
$demo = 'This is a demo string';
|
|
$demoSize = mb_strlen($demo, '8bit');
|
|
|
|
$data = $this->object->compress($demo);
|
|
$dataSize = mb_strlen($data, '8bit');
|
|
|
|
$this->assertEquals($demoSize, 21);
|
|
$this->assertEquals($dataSize, 39);
|
|
|
|
$this->assertEquals($this->object->decompress($data), $demo);
|
|
}
|
|
|
|
public function testCompressDecompressWithJPGImage()
|
|
{
|
|
$demo = \file_get_contents(__DIR__ . '/../../../../resources/disk-a/kitten-1.jpg');
|
|
$demoSize = mb_strlen($demo, '8bit');
|
|
|
|
$data = $this->object->compress($demo);
|
|
$dataSize = mb_strlen($data, '8bit');
|
|
|
|
$this->assertEquals($demoSize, 599639);
|
|
$this->assertEquals($dataSize, 599107);
|
|
|
|
$this->assertGreaterThan($dataSize, $demoSize);
|
|
|
|
$data = $this->object->decompress($data);
|
|
$dataSize = mb_strlen($data, '8bit');
|
|
|
|
$this->assertEquals($dataSize, 599639);
|
|
}
|
|
|
|
public function testCompressDecompressWithPNGImage()
|
|
{
|
|
$demo = \file_get_contents(__DIR__ . '/../../../../resources/disk-b/kitten-1.png');
|
|
$demoSize = mb_strlen($demo, '8bit');
|
|
|
|
$data = $this->object->compress($demo);
|
|
$dataSize = mb_strlen($data, '8bit');
|
|
|
|
$this->assertEquals($demoSize, 3038056);
|
|
$this->assertEquals($dataSize, 3029202);
|
|
|
|
$this->assertGreaterThan($dataSize, $demoSize);
|
|
|
|
$data = $this->object->decompress($data);
|
|
$dataSize = mb_strlen($data, '8bit');
|
|
|
|
$this->assertEquals($dataSize, 3038056);
|
|
}
|
|
} |