1
0
Fork 0
mirror of synced 2024-07-03 05:31:38 +12:00
appwrite/tests/unit/Storage/Compression/Algorithms/GZIPTest.php
2020-03-24 19:56:32 +02:00

80 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()
{
$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);
}
}