1
0
Fork 0
mirror of synced 2024-06-02 10:54:44 +12:00
appwrite/tests/unit/Storage/Compression/Algorithms/GZIPTest.php
2020-09-30 17:54:33 -04:00

81 lines
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(): void
{
$this->object = new GZIP();
}
public function tearDown(): void
{
}
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);
}
}