mirror of
https://github.com/Intervention/image.git
synced 2025-08-23 05:52:47 +02:00
53 lines
1.8 KiB
PHP
53 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders;
|
|
|
|
use Intervention\Gif\Decoder;
|
|
use Intervention\Image\Drivers\Imagick\Encoders\GifEncoder;
|
|
use PHPUnit\Framework\Attributes\CoversClass;
|
|
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
|
use Intervention\Image\Tests\ImagickTestCase;
|
|
|
|
#[RequiresPhpExtension('imagick')]
|
|
#[CoversClass(GifEncoder::class)]
|
|
final class GifEncoderTest extends ImagickTestCase
|
|
{
|
|
public function testEncode(): void
|
|
{
|
|
$image = $this->createTestImage(3, 2);
|
|
$encoder = new GifEncoder();
|
|
$result = $encoder->encode($image);
|
|
$this->assertMediaType('image/gif', $result);
|
|
$this->assertEquals('image/gif', $result->mimetype());
|
|
$this->assertFalse(
|
|
Decoder::decode((string) $result)->getFirstFrame()->getImageDescriptor()->isInterlaced()
|
|
);
|
|
}
|
|
|
|
public function testEncodeInterlaced(): void
|
|
{
|
|
$image = $this->createTestImage(3, 2);
|
|
$encoder = new GifEncoder(interlaced: true);
|
|
$result = $encoder->encode($image);
|
|
$this->assertMediaType('image/gif', $result);
|
|
$this->assertEquals('image/gif', $result->mimetype());
|
|
$this->assertTrue(
|
|
Decoder::decode((string) $result)->getFirstFrame()->getImageDescriptor()->isInterlaced()
|
|
);
|
|
}
|
|
|
|
public function testEncodeInterlacedAnimation(): void
|
|
{
|
|
$image = $this->createTestAnimation();
|
|
$encoder = new GifEncoder(interlaced: true);
|
|
$result = $encoder->encode($image);
|
|
$this->assertMediaType('image/gif', $result);
|
|
$this->assertEquals('image/gif', $result->mimetype());
|
|
$this->assertTrue(
|
|
Decoder::decode((string) $result)->getFirstFrame()->getImageDescriptor()->isInterlaced()
|
|
);
|
|
}
|
|
}
|