mirror of
https://github.com/Intervention/image.git
synced 2025-09-03 02:42:45 +02:00
Implement config options
This commit is contained in:
@@ -7,6 +7,7 @@ namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Drivers\Imagick\Decoders\Base64ImageDecoder;
|
||||
use Intervention\Image\Drivers\Imagick\Driver;
|
||||
use Intervention\Image\Exceptions\DecoderException;
|
||||
use Intervention\Image\Image;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
@@ -20,6 +21,7 @@ final class Base64ImageDecoderTest extends BaseTestCase
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->decoder = new Base64ImageDecoder();
|
||||
$this->decoder->setDriver(new Driver());
|
||||
}
|
||||
|
||||
public function testDecode(): void
|
||||
|
@@ -7,6 +7,7 @@ namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders;
|
||||
use Intervention\Image\Colors\Cmyk\Colorspace as CmykColorspace;
|
||||
use Intervention\Image\Colors\Rgb\Colorspace as RgbColorspace;
|
||||
use Intervention\Image\Drivers\Imagick\Decoders\BinaryImageDecoder;
|
||||
use Intervention\Image\Drivers\Imagick\Driver;
|
||||
use Intervention\Image\Exceptions\DecoderException;
|
||||
use Intervention\Image\Image;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
@@ -14,10 +15,17 @@ use stdClass;
|
||||
|
||||
final class BinaryImageDecoderTest extends BaseTestCase
|
||||
{
|
||||
protected BinaryImageDecoder $decoder;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->decoder = new BinaryImageDecoder();
|
||||
$this->decoder->setDriver(new Driver());
|
||||
}
|
||||
|
||||
public function testDecodePng(): void
|
||||
{
|
||||
$decoder = new BinaryImageDecoder();
|
||||
$image = $decoder->decode(file_get_contents($this->getTestResourcePath('tile.png')));
|
||||
$image = $this->decoder->decode(file_get_contents($this->getTestResourcePath('tile.png')));
|
||||
$this->assertInstanceOf(Image::class, $image);
|
||||
$this->assertInstanceOf(RgbColorspace::class, $image->colorspace());
|
||||
$this->assertEquals(16, $image->width());
|
||||
@@ -27,8 +35,7 @@ final class BinaryImageDecoderTest extends BaseTestCase
|
||||
|
||||
public function testDecodeGif(): void
|
||||
{
|
||||
$decoder = new BinaryImageDecoder();
|
||||
$image = $decoder->decode(file_get_contents($this->getTestResourcePath('red.gif')));
|
||||
$image = $this->decoder->decode(file_get_contents($this->getTestResourcePath('red.gif')));
|
||||
$this->assertInstanceOf(Image::class, $image);
|
||||
$this->assertEquals(16, $image->width());
|
||||
$this->assertEquals(16, $image->height());
|
||||
@@ -37,8 +44,7 @@ final class BinaryImageDecoderTest extends BaseTestCase
|
||||
|
||||
public function testDecodeAnimatedGif(): void
|
||||
{
|
||||
$decoder = new BinaryImageDecoder();
|
||||
$image = $decoder->decode(file_get_contents($this->getTestResourcePath('cats.gif')));
|
||||
$image = $this->decoder->decode(file_get_contents($this->getTestResourcePath('cats.gif')));
|
||||
$this->assertInstanceOf(Image::class, $image);
|
||||
$this->assertEquals(75, $image->width());
|
||||
$this->assertEquals(50, $image->height());
|
||||
@@ -47,8 +53,7 @@ final class BinaryImageDecoderTest extends BaseTestCase
|
||||
|
||||
public function testDecodeJpegWithExif(): void
|
||||
{
|
||||
$decoder = new BinaryImageDecoder();
|
||||
$image = $decoder->decode(file_get_contents($this->getTestResourcePath('exif.jpg')));
|
||||
$image = $this->decoder->decode(file_get_contents($this->getTestResourcePath('exif.jpg')));
|
||||
$this->assertInstanceOf(Image::class, $image);
|
||||
$this->assertEquals(16, $image->width());
|
||||
$this->assertEquals(16, $image->height());
|
||||
@@ -58,16 +63,14 @@ final class BinaryImageDecoderTest extends BaseTestCase
|
||||
|
||||
public function testDecodeCmykImage(): void
|
||||
{
|
||||
$decoder = new BinaryImageDecoder();
|
||||
$image = $decoder->decode(file_get_contents($this->getTestResourcePath('cmyk.jpg')));
|
||||
$image = $this->decoder->decode(file_get_contents($this->getTestResourcePath('cmyk.jpg')));
|
||||
$this->assertInstanceOf(Image::class, $image);
|
||||
$this->assertInstanceOf(CmykColorspace::class, $image->colorspace());
|
||||
}
|
||||
|
||||
public function testDecodeNonString(): void
|
||||
{
|
||||
$decoder = new BinaryImageDecoder();
|
||||
$this->expectException(DecoderException::class);
|
||||
$decoder->decode(new stdClass());
|
||||
$this->decoder->decode(new stdClass());
|
||||
}
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@ namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Drivers\Imagick\Decoders\DataUriImageDecoder;
|
||||
use Intervention\Image\Drivers\Imagick\Driver;
|
||||
use Intervention\Image\Exceptions\DecoderException;
|
||||
use Intervention\Image\Image;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
@@ -21,6 +22,7 @@ final class DataUriImageDecoderTest extends BaseTestCase
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->decoder = new DataUriImageDecoder();
|
||||
$this->decoder->setDriver(new Driver());
|
||||
}
|
||||
|
||||
public function testDecode(): void
|
||||
|
@@ -7,10 +7,11 @@ namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Drivers\Imagick\Decoders\FilePathImageDecoder;
|
||||
use Intervention\Image\Drivers\Imagick\Driver;
|
||||
use Intervention\Image\Exceptions\DecoderException;
|
||||
use Intervention\Image\Image;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use stdClass;
|
||||
use PHPUnit\Framework\Attributes\DataProvider;
|
||||
|
||||
#[RequiresPhpExtension('imagick')]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Imagick\Decoders\FilePathImageDecoder::class)]
|
||||
@@ -21,32 +22,35 @@ final class FilePathImageDecoderTest extends BaseTestCase
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->decoder = new FilePathImageDecoder();
|
||||
$this->decoder->setDriver(new Driver());
|
||||
}
|
||||
|
||||
public function testDecode(): void
|
||||
#[DataProvider('validFormatPathsProvider')]
|
||||
public function testDecode(string $path, bool $result): void
|
||||
{
|
||||
$result = $this->decoder->decode(
|
||||
$this->getTestResourcePath()
|
||||
);
|
||||
if ($result === false) {
|
||||
$this->expectException(DecoderException::class);
|
||||
}
|
||||
|
||||
$this->assertInstanceOf(Image::class, $result);
|
||||
$result = $this->decoder->decode($path);
|
||||
|
||||
if ($result === true) {
|
||||
$this->assertInstanceOf(Image::class, $result);
|
||||
}
|
||||
}
|
||||
|
||||
public function testDecoderNonString(): void
|
||||
public static function validFormatPathsProvider(): array
|
||||
{
|
||||
$this->expectException(DecoderException::class);
|
||||
$this->decoder->decode(new stdClass());
|
||||
}
|
||||
|
||||
public function testDecoderNoPath(): void
|
||||
{
|
||||
$this->expectException(DecoderException::class);
|
||||
$this->decoder->decode('no-path');
|
||||
}
|
||||
|
||||
public function testDecoderTooLongPath(): void
|
||||
{
|
||||
$this->expectException(DecoderException::class);
|
||||
$this->decoder->decode(str_repeat('x', PHP_MAXPATHLEN + 1));
|
||||
return [
|
||||
[self::getTestResourcePath('cats.gif'), true],
|
||||
[self::getTestResourcePath('animation.gif'), true],
|
||||
[self::getTestResourcePath('red.gif'), true],
|
||||
[self::getTestResourcePath('green.gif'), true],
|
||||
[self::getTestResourcePath('blue.gif'), true],
|
||||
[self::getTestResourcePath('gradient.bmp'), true],
|
||||
[self::getTestResourcePath('circle.png'), true],
|
||||
['no-path', false],
|
||||
[str_repeat('x', PHP_MAXPATHLEN + 1), false],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@ namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Drivers\Imagick\Decoders\FilePointerImageDecoder;
|
||||
use Intervention\Image\Drivers\Imagick\Driver;
|
||||
use Intervention\Image\Image;
|
||||
use Intervention\Image\Tests\ImagickTestCase;
|
||||
|
||||
@@ -17,6 +18,7 @@ final class FilePointerImageDecoderTest extends ImagickTestCase
|
||||
public function testDecode(): void
|
||||
{
|
||||
$decoder = new FilePointerImageDecoder();
|
||||
$decoder->setDriver(new Driver());
|
||||
$fp = fopen($this->getTestResourcePath('test.jpg'), 'r');
|
||||
$result = $decoder->decode($fp);
|
||||
$this->assertInstanceOf(Image::class, $result);
|
||||
|
@@ -7,6 +7,7 @@ namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Drivers\Imagick\Decoders\SplFileInfoImageDecoder;
|
||||
use Intervention\Image\Drivers\Imagick\Driver;
|
||||
use Intervention\Image\Image;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use SplFileInfo;
|
||||
@@ -18,6 +19,7 @@ final class SplFileInfoImageDecoderTest extends BaseTestCase
|
||||
public function testDecode(): void
|
||||
{
|
||||
$decoder = new SplFileInfoImageDecoder();
|
||||
$decoder->setDriver(new Driver());
|
||||
$result = $decoder->decode(
|
||||
new SplFileInfo($this->getTestResourcePath('blue.gif'))
|
||||
);
|
||||
|
Reference in New Issue
Block a user