1
0
mirror of https://github.com/Intervention/image.git synced 2025-08-13 17:34:04 +02:00

Added Gd Decoder tests

This commit is contained in:
Oliver Vogel
2021-12-01 19:12:25 +01:00
parent bc21f433c3
commit 2bc0f825af
5 changed files with 103 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
<?php
namespace Intervention\Image\Tests\Drivers\Gd\Decoders;
use Intervention\Image\Drivers\Gd\Decoders\Base64ImageDecoder;
use Intervention\Image\Drivers\Gd\Image;
use Intervention\Image\Tests\TestCase;
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
class Base64ImageDecoderTest extends TestCase
{
use CanCreateGdTestImage;
public function testDecode(): void
{
$decoder = new Base64ImageDecoder();
$result = $decoder->decode(
base64_encode($this->getTestImageData('blue.gif'))
);
$this->assertInstanceOf(Image::class, $result);
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace Intervention\Image\Tests\Drivers\Gd\Decoders;
use Intervention\Image\Drivers\Gd\Decoders\DataUriImageDecoder;
use Intervention\Image\Drivers\Gd\Image;
use Intervention\Image\Tests\TestCase;
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
class DataUriImageDecoderTest extends TestCase
{
use CanCreateGdTestImage;
public function testDecode(): void
{
$decoder = new DataUriImageDecoder();
$result = $decoder->decode(
sprintf('data:image/jpeg;base64,%s', base64_encode($this->getTestImageData('blue.gif')))
);
$this->assertInstanceOf(Image::class, $result);
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace Intervention\Image\Tests\Drivers\Gd\Decoders;
use Intervention\Image\Drivers\Gd\Decoders\FilePathImageDecoder;
use Intervention\Image\Drivers\Gd\Image;
use Intervention\Image\Tests\TestCase;
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
class FilePathImageDecoderTest extends TestCase
{
use CanCreateGdTestImage;
public function testDecode(): void
{
$decoder = new FilePathImageDecoder();
$result = $decoder->decode(
$this->getTestImagePath()
);
$this->assertInstanceOf(Image::class, $result);
}
}

View File

@@ -0,0 +1,26 @@
<?php
namespace Intervention\Image\Tests\Drivers\Gd\Decoders;
use Intervention\Image\Drivers\Gd\Decoders\HexColorDecoder;
use Intervention\Image\Drivers\Gd\Color;
use Intervention\Image\Tests\TestCase;
class HexColorDecoderTest extends TestCase
{
public function testDecode(): void
{
$decoder = new HexColorDecoder();
$result = $decoder->decode('ccc');
$this->assertInstanceOf(Color::class, $result);
$result = $decoder->decode('#ccc');
$this->assertInstanceOf(Color::class, $result);
$result = $decoder->decode('cccccc');
$this->assertInstanceOf(Color::class, $result);
$result = $decoder->decode('#cccccc');
$this->assertInstanceOf(Color::class, $result);
}
}

View File

@@ -9,10 +9,20 @@ use Intervention\Image\Drivers\Gd\Image;
trait CanCreateGdTestImage
{
public function getTestImagePath($filename = 'test.jpg'): string
{
return sprintf('%s/../images/%s', __DIR__, $filename);
}
public function getTestImageData($filename = 'test.jpg'): string
{
return file_get_contents($this->getTestImagePath($filename));
}
public function createTestImage($filename = 'test.jpg'): Image
{
return $this->testImageDecoder()->handle(
sprintf('%s/../images/%s', __DIR__, $filename)
$this->getTestImagePath($filename)
);
}