mirror of
https://github.com/Intervention/image.git
synced 2025-08-28 16:19:50 +02:00
PHPUnit 10 Migration (#1302)
* Bump PHPUnit dependencies * Set return type of base TestCase methods From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type: - `setUpBeforeClass()` - `setUp()` - `assertPreConditions()` - `assertPostConditions()` - `tearDown()` - `tearDownAfterClass()` - `onNotSuccessfulTest()` [1]: https://phpunit.de/announcements/phpunit-8.html * Ignore PHPUnit cache folder * Adopt PHP attributes in test classes * Declare data providers as `static` * Add return types to test methods * Define test classes as `final` * Migrate phpunit.xml to phpunit 10 * Correct phpunit attribute class name * Rename base test class * Restructure test folders * Fix test image paths * Only set rules for php files in .editorconfig * Remove php unit flag in local test env --------- Co-authored-by: Shift <shift@laravelshift.com>
This commit is contained in:
27
tests/Unit/Drivers/Gd/Modifiers/BlurModifierTest.php
Normal file
27
tests/Unit/Drivers/Gd/Modifiers/BlurModifierTest.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\BlurModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\BlurModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\BlurModifier::class)]
|
||||
final class BlurModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testColorChange(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$image->modify(new BlurModifier(30));
|
||||
$this->assertEquals('4fa68d', $image->pickColor(14, 14)->toHex());
|
||||
}
|
||||
}
|
27
tests/Unit/Drivers/Gd/Modifiers/BrightnessModifierTest.php
Normal file
27
tests/Unit/Drivers/Gd/Modifiers/BrightnessModifierTest.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\BrightnessModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\BrightnessModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\BrightnessModifier::class)]
|
||||
final class BrightnessModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$image->modify(new BrightnessModifier(30));
|
||||
$this->assertEquals('4cfaff', $image->pickColor(14, 14)->toHex());
|
||||
}
|
||||
}
|
27
tests/Unit/Drivers/Gd/Modifiers/ColorizeModifierTest.php
Normal file
27
tests/Unit/Drivers/Gd/Modifiers/ColorizeModifierTest.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\ColorizeModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\ColorizeModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ColorizeModifier::class)]
|
||||
final class ColorizeModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->readTestImage('tile.png');
|
||||
$image = $image->modify(new ColorizeModifier(100, -100, -100));
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(5, 5));
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(15, 15));
|
||||
}
|
||||
}
|
32
tests/Unit/Drivers/Gd/Modifiers/ContainModifierTest.php
Normal file
32
tests/Unit/Drivers/Gd/Modifiers/ContainModifierTest.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\ContainModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\ContainModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ContainModifier::class)]
|
||||
final class ContainModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->readTestImage('blocks.png');
|
||||
$this->assertEquals(640, $image->width());
|
||||
$this->assertEquals(480, $image->height());
|
||||
$image->modify(new ContainModifier(200, 100, 'ff0'));
|
||||
$this->assertEquals(200, $image->width());
|
||||
$this->assertEquals(100, $image->height());
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(0, 0));
|
||||
$this->assertTransparency($image->pickColor(140, 10));
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(175, 10));
|
||||
}
|
||||
}
|
27
tests/Unit/Drivers/Gd/Modifiers/ContrastModifierTest.php
Normal file
27
tests/Unit/Drivers/Gd/Modifiers/ContrastModifierTest.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\ContrastModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\ContrastModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ContrastModifier::class)]
|
||||
final class ContrastModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$image->modify(new ContrastModifier(30));
|
||||
$this->assertEquals('00ceff', $image->pickColor(14, 14)->toHex());
|
||||
}
|
||||
}
|
33
tests/Unit/Drivers/Gd/Modifiers/CoverModifierTest.php
Normal file
33
tests/Unit/Drivers/Gd/Modifiers/CoverModifierTest.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\CoverModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\CoverModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\CoverModifier::class)]
|
||||
final class CoverModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->readTestImage('blocks.png');
|
||||
$this->assertEquals(640, $image->width());
|
||||
$this->assertEquals(480, $image->height());
|
||||
$image->modify(new CoverModifier(100, 100, 'center'));
|
||||
$this->assertEquals(100, $image->width());
|
||||
$this->assertEquals(100, $image->height());
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(90, 90));
|
||||
$this->assertColor(0, 255, 0, 255, $image->pickColor(65, 70));
|
||||
$this->assertColor(0, 0, 255, 255, $image->pickColor(70, 52));
|
||||
$this->assertTransparency($image->pickColor(90, 30));
|
||||
}
|
||||
}
|
42
tests/Unit/Drivers/Gd/Modifiers/CropModifierTest.php
Normal file
42
tests/Unit/Drivers/Gd/Modifiers/CropModifierTest.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\CropModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\CropModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\CropModifier::class)]
|
||||
final class CropModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->readTestImage('blocks.png');
|
||||
$image = $image->modify(new CropModifier(200, 200, 0, 0, 'ffffff', 'bottom-right'));
|
||||
$this->assertEquals(200, $image->width());
|
||||
$this->assertEquals(200, $image->height());
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(5, 5));
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(100, 100));
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(190, 190));
|
||||
}
|
||||
|
||||
public function testModifyExtend(): void
|
||||
{
|
||||
$image = $this->readTestImage('blocks.png');
|
||||
$image = $image->modify(new CropModifier(800, 100, -10, -10, 'ff0000', 'top-left'));
|
||||
$this->assertEquals(800, $image->width());
|
||||
$this->assertEquals(100, $image->height());
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(9, 9));
|
||||
$this->assertColor(0, 0, 255, 255, $image->pickColor(16, 16));
|
||||
$this->assertColor(0, 0, 255, 255, $image->pickColor(445, 16));
|
||||
$this->assertTransparency($image->pickColor(460, 16));
|
||||
}
|
||||
}
|
31
tests/Unit/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php
Normal file
31
tests/Unit/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\DrawEllipseModifier;
|
||||
use Intervention\Image\Geometry\Ellipse;
|
||||
use Intervention\Image\Geometry\Point;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\DrawEllipseModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawEllipseModifier::class)]
|
||||
final class DrawEllipseModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$drawable = new Ellipse(10, 10, new Point(14, 14));
|
||||
$drawable->setBackgroundColor('b53717');
|
||||
$image->modify(new DrawEllipseModifier($drawable));
|
||||
$this->assertEquals('b53717', $image->pickColor(14, 14)->toHex());
|
||||
}
|
||||
}
|
31
tests/Unit/Drivers/Gd/Modifiers/DrawLineModifierTest.php
Normal file
31
tests/Unit/Drivers/Gd/Modifiers/DrawLineModifierTest.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\DrawLineModifier;
|
||||
use Intervention\Image\Geometry\Line;
|
||||
use Intervention\Image\Geometry\Point;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\DrawLineModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawLineModifier::class)]
|
||||
final class DrawLineModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$line = new Line(new Point(0, 0), new Point(10, 0), 4);
|
||||
$line->setBackgroundColor('b53517');
|
||||
$image->modify(new DrawLineModifier($line));
|
||||
$this->assertEquals('b53517', $image->pickColor(0, 0)->toHex());
|
||||
}
|
||||
}
|
28
tests/Unit/Drivers/Gd/Modifiers/DrawPixelModifierTest.php
Normal file
28
tests/Unit/Drivers/Gd/Modifiers/DrawPixelModifierTest.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\DrawPixelModifier;
|
||||
use Intervention\Image\Geometry\Point;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\DrawPixelModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawPixelModifier::class)]
|
||||
final class DrawPixelModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$image->modify(new DrawPixelModifier(new Point(14, 14), 'ffffff'));
|
||||
$this->assertEquals('ffffff', $image->pickColor(14, 14)->toHex());
|
||||
}
|
||||
}
|
31
tests/Unit/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php
Normal file
31
tests/Unit/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\DrawPolygonModifier;
|
||||
use Intervention\Image\Geometry\Point;
|
||||
use Intervention\Image\Geometry\Polygon;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\DrawPixelModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawPixelModifier::class)]
|
||||
final class DrawPolygonModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$drawable = new Polygon([new Point(0, 0), new Point(15, 15), new Point(20, 20)]);
|
||||
$drawable->setBackgroundColor('b53717');
|
||||
$image->modify(new DrawPolygonModifier($drawable));
|
||||
$this->assertEquals('b53717', $image->pickColor(14, 14)->toHex());
|
||||
}
|
||||
}
|
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\DrawRectangleModifier;
|
||||
use Intervention\Image\Geometry\Point;
|
||||
use Intervention\Image\Geometry\Rectangle;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\DrawRectangleModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawRectangleModifier::class)]
|
||||
final class DrawRectangleModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$rectangle = new Rectangle(300, 200, new Point(14, 14));
|
||||
$rectangle->setBackgroundColor('ffffff');
|
||||
$image->modify(new DrawRectangleModifier($rectangle));
|
||||
$this->assertEquals('ffffff', $image->pickColor(14, 14)->toHex());
|
||||
}
|
||||
}
|
41
tests/Unit/Drivers/Gd/Modifiers/FillModifierTest.php
Normal file
41
tests/Unit/Drivers/Gd/Modifiers/FillModifierTest.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Colors\Rgb\Color;
|
||||
use Intervention\Image\Modifiers\FillModifier;
|
||||
use Intervention\Image\Geometry\Point;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\FillModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\FillModifier::class)]
|
||||
final class FillModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testFloodFillColor(): void
|
||||
{
|
||||
$image = $this->readTestImage('blocks.png');
|
||||
$this->assertEquals('0000ff', $image->pickColor(420, 270)->toHex());
|
||||
$this->assertEquals('ff0000', $image->pickColor(540, 400)->toHex());
|
||||
$image->modify(new FillModifier(new Color(204, 204, 204), new Point(540, 400)));
|
||||
$this->assertEquals('0000ff', $image->pickColor(420, 270)->toHex());
|
||||
$this->assertEquals('cccccc', $image->pickColor(540, 400)->toHex());
|
||||
}
|
||||
|
||||
public function testFillAllColor(): void
|
||||
{
|
||||
$image = $this->readTestImage('blocks.png');
|
||||
$this->assertEquals('0000ff', $image->pickColor(420, 270)->toHex());
|
||||
$this->assertEquals('ff0000', $image->pickColor(540, 400)->toHex());
|
||||
$image->modify(new FillModifier(new Color(204, 204, 204)));
|
||||
$this->assertEquals('cccccc', $image->pickColor(420, 270)->toHex());
|
||||
$this->assertEquals('cccccc', $image->pickColor(540, 400)->toHex());
|
||||
}
|
||||
}
|
36
tests/Unit/Drivers/Gd/Modifiers/FlipFlopModifierTest.php
Normal file
36
tests/Unit/Drivers/Gd/Modifiers/FlipFlopModifierTest.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\FlipModifier;
|
||||
use Intervention\Image\Modifiers\FlopModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\FlipModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\FlipModifier::class)]
|
||||
final class FlipFlopModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testFlipImage(): void
|
||||
{
|
||||
$image = $this->readTestImage('tile.png');
|
||||
$this->assertEquals('b4e000', $image->pickColor(0, 0)->toHex());
|
||||
$image->modify(new FlipModifier());
|
||||
$this->assertTransparency($image->pickColor(0, 0));
|
||||
}
|
||||
|
||||
public function testFlopImage(): void
|
||||
{
|
||||
$image = $this->readTestImage('tile.png');
|
||||
$this->assertEquals('b4e000', $image->pickColor(0, 0)->toHex());
|
||||
$image->modify(new FlopModifier());
|
||||
$this->assertTransparency($image->pickColor(0, 0));
|
||||
}
|
||||
}
|
27
tests/Unit/Drivers/Gd/Modifiers/GammaModifierTest.php
Normal file
27
tests/Unit/Drivers/Gd/Modifiers/GammaModifierTest.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\GammaModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\GammaModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\GammaModifier::class)]
|
||||
final class GammaModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModifier(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(0, 0)->toHex());
|
||||
$image->modify(new GammaModifier(2.1));
|
||||
$this->assertEquals('00d5f8', $image->pickColor(0, 0)->toHex());
|
||||
}
|
||||
}
|
27
tests/Unit/Drivers/Gd/Modifiers/GreyscaleModifierTest.php
Normal file
27
tests/Unit/Drivers/Gd/Modifiers/GreyscaleModifierTest.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\GreyscaleModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\GreyscaleModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\GreyscaleModifier::class)]
|
||||
final class GreyscaleModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testColorChange(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertFalse($image->pickColor(0, 0)->isGreyscale());
|
||||
$image->modify(new GreyscaleModifier());
|
||||
$this->assertTrue($image->pickColor(0, 0)->isGreyscale());
|
||||
}
|
||||
}
|
29
tests/Unit/Drivers/Gd/Modifiers/InvertModifierTest.php
Normal file
29
tests/Unit/Drivers/Gd/Modifiers/InvertModifierTest.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\InvertModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\InvertModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\InvertModifier::class)]
|
||||
final class InvertModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(0, 0)->toHex());
|
||||
$this->assertEquals('ffa601', $image->pickColor(25, 25)->toHex());
|
||||
$image->modify(new InvertModifier());
|
||||
$this->assertEquals('ff510f', $image->pickColor(0, 0)->toHex());
|
||||
$this->assertEquals('0059fe', $image->pickColor(25, 25)->toHex());
|
||||
}
|
||||
}
|
29
tests/Unit/Drivers/Gd/Modifiers/PixelateModifierTest.php
Normal file
29
tests/Unit/Drivers/Gd/Modifiers/PixelateModifierTest.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\PixelateModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\PixelateModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\PixelateModifier::class)]
|
||||
final class PixelateModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('00aef0', $image->pickColor(0, 0)->toHex());
|
||||
$this->assertEquals('00aef0', $image->pickColor(14, 14)->toHex());
|
||||
$image->modify(new PixelateModifier(10));
|
||||
$this->assertEquals('00aef0', $image->pickColor(0, 0)->toHex());
|
||||
$this->assertEquals('6aaa8b', $image->pickColor(14, 14)->toHex());
|
||||
}
|
||||
}
|
35
tests/Unit/Drivers/Gd/Modifiers/PlaceModifierTest.php
Normal file
35
tests/Unit/Drivers/Gd/Modifiers/PlaceModifierTest.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\PlaceModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\PlaceModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\PlaceModifier::class)]
|
||||
final class PlaceModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testColorChange(): void
|
||||
{
|
||||
$image = $this->readTestImage('test.jpg');
|
||||
$this->assertEquals('febc44', $image->pickColor(300, 25)->toHex());
|
||||
$image->modify(new PlaceModifier($this->getTestImagePath('circle.png'), 'top-right', 0, 0));
|
||||
$this->assertEquals('32250d', $image->pickColor(300, 25)->toHex());
|
||||
}
|
||||
|
||||
public function testColorChangeOpacity(): void
|
||||
{
|
||||
$image = $this->readTestImage('test.jpg');
|
||||
$this->assertEquals('febc44', $image->pickColor(300, 25)->toHex());
|
||||
$image->modify(new PlaceModifier($this->getTestImagePath('circle.png'), 'top-right', 0, 0, 50));
|
||||
$this->assertEquals('987028', $image->pickColor(300, 25)->toHex());
|
||||
}
|
||||
}
|
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Exceptions\InputException;
|
||||
use Intervention\Image\Interfaces\ImageInterface;
|
||||
use Intervention\Image\Modifiers\QuantizeColorsModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\QuantizeColorsModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\QuantizeColorsModifier::class)]
|
||||
final class QuantizeColorsModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testColorChange(): void
|
||||
{
|
||||
$image = $this->readTestImage('gradient.bmp');
|
||||
$this->assertColorCount(15, $image);
|
||||
$image->modify(new QuantizeColorsModifier(4));
|
||||
$this->assertColorCount(4, $image);
|
||||
}
|
||||
|
||||
public function testNoColorReduction(): void
|
||||
{
|
||||
$image = $this->readTestImage('gradient.bmp');
|
||||
$this->assertColorCount(15, $image);
|
||||
$image->modify(new QuantizeColorsModifier(150));
|
||||
$this->assertColorCount(15, $image);
|
||||
}
|
||||
|
||||
public function testInvalidColorInput(): void
|
||||
{
|
||||
$image = $this->readTestImage('gradient.bmp');
|
||||
$this->expectException(InputException::class);
|
||||
$image->modify(new QuantizeColorsModifier(0));
|
||||
}
|
||||
|
||||
private function assertColorCount(int $count, ImageInterface $image): void
|
||||
{
|
||||
$colors = [];
|
||||
$width = $image->width();
|
||||
$height = $image->height();
|
||||
for ($x = 0; $x < $width; $x++) {
|
||||
for ($y = 0; $y < $height; $y++) {
|
||||
$rgb = imagecolorat($image->core()->native(), $x, $y);
|
||||
$color = imagecolorsforindex($image->core()->native(), $rgb);
|
||||
$color = implode('-', $color);
|
||||
$colors[$color] = $color;
|
||||
}
|
||||
}
|
||||
|
||||
$this->assertEquals(count($colors), $count);
|
||||
}
|
||||
}
|
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Exceptions\InputException;
|
||||
use Intervention\Image\Modifiers\RemoveAnimationModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\RemoveAnimationModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\RemoveAnimationModifier::class)]
|
||||
final class RemoveAnimationModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testApply(): void
|
||||
{
|
||||
$image = $this->readTestImage('animation.gif');
|
||||
$this->assertEquals(8, count($image));
|
||||
$result = $image->modify(new RemoveAnimationModifier(2));
|
||||
$this->assertEquals(1, count($image));
|
||||
$this->assertEquals(1, count($result));
|
||||
}
|
||||
|
||||
public function testApplyPercent(): void
|
||||
{
|
||||
$image = $this->readTestImage('animation.gif');
|
||||
$this->assertEquals(8, count($image));
|
||||
$result = $image->modify(new RemoveAnimationModifier('20%'));
|
||||
$this->assertEquals(1, count($image));
|
||||
$this->assertEquals(1, count($result));
|
||||
}
|
||||
|
||||
public function testApplyInvalid(): void
|
||||
{
|
||||
$image = $this->readTestImage('animation.gif');
|
||||
$this->expectException(InputException::class);
|
||||
$image->modify(new RemoveAnimationModifier('test'));
|
||||
}
|
||||
}
|
58
tests/Unit/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php
Normal file
58
tests/Unit/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\ResizeCanvasModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\ResizeCanvasModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ResizeCanvasModifier::class)]
|
||||
final class ResizeCanvasModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->createTestImage(1, 1);
|
||||
$this->assertEquals(1, $image->width());
|
||||
$this->assertEquals(1, $image->height());
|
||||
$image->modify(new ResizeCanvasModifier(3, 3, 'ff0', 'center'));
|
||||
$this->assertEquals(3, $image->width());
|
||||
$this->assertEquals(3, $image->height());
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(0, 0));
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(1, 1));
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(2, 2));
|
||||
}
|
||||
|
||||
public function testModifyWithTransparency(): void
|
||||
{
|
||||
$image = $this->readTestImage('tile.png');
|
||||
$this->assertEquals(16, $image->width());
|
||||
$this->assertEquals(16, $image->height());
|
||||
$image->modify(new ResizeCanvasModifier(18, 18, 'ff0', 'center'));
|
||||
$this->assertEquals(18, $image->width());
|
||||
$this->assertEquals(18, $image->height());
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(0, 0));
|
||||
$this->assertColor(180, 224, 0, 255, $image->pickColor(1, 1));
|
||||
$this->assertColor(180, 224, 0, 255, $image->pickColor(2, 2));
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(17, 17));
|
||||
$this->assertTransparency($image->pickColor(12, 1));
|
||||
}
|
||||
|
||||
public function testModifyEdge(): void
|
||||
{
|
||||
$image = $this->createTestImage(1, 1);
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(0, 0));
|
||||
$image->modify(new ResizeCanvasModifier(null, 2, 'ff0', 'bottom'));
|
||||
$this->assertEquals(1, $image->width());
|
||||
$this->assertEquals(2, $image->height());
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(0, 0));
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(0, 1));
|
||||
}
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\ResizeCanvasRelativeModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\ResizeCanvasRelativeModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ResizeCanvasRelativeModifier::class)]
|
||||
final class ResizeCanvasRelativeModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->createTestImage(1, 1);
|
||||
$this->assertEquals(1, $image->width());
|
||||
$this->assertEquals(1, $image->height());
|
||||
$image->modify(new ResizeCanvasRelativeModifier(2, 2, 'ff0', 'center'));
|
||||
$this->assertEquals(3, $image->width());
|
||||
$this->assertEquals(3, $image->height());
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(0, 0));
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(1, 1));
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(2, 2));
|
||||
}
|
||||
|
||||
public function testModifyWithTransparency(): void
|
||||
{
|
||||
$image = $this->readTestImage('tile.png');
|
||||
$this->assertEquals(16, $image->width());
|
||||
$this->assertEquals(16, $image->height());
|
||||
$image->modify(new ResizeCanvasRelativeModifier(2, 2, 'ff0', 'center'));
|
||||
$this->assertEquals(18, $image->width());
|
||||
$this->assertEquals(18, $image->height());
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(0, 0));
|
||||
$this->assertColor(180, 224, 0, 255, $image->pickColor(1, 1));
|
||||
$this->assertColor(180, 224, 0, 255, $image->pickColor(2, 2));
|
||||
$this->assertColor(255, 255, 0, 255, $image->pickColor(17, 17));
|
||||
$this->assertTransparency($image->pickColor(12, 1));
|
||||
}
|
||||
}
|
33
tests/Unit/Drivers/Gd/Modifiers/ResizeModifierTest.php
Normal file
33
tests/Unit/Drivers/Gd/Modifiers/ResizeModifierTest.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\ResizeModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\ResizeModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ResizeModifier::class)]
|
||||
final class ResizeModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->readTestImage('blocks.png');
|
||||
$this->assertEquals(640, $image->width());
|
||||
$this->assertEquals(480, $image->height());
|
||||
$image->modify(new ResizeModifier(200, 100));
|
||||
$this->assertEquals(200, $image->width());
|
||||
$this->assertEquals(100, $image->height());
|
||||
$this->assertColor(255, 0, 0, 255, $image->pickColor(150, 70));
|
||||
$this->assertColor(0, 255, 0, 255, $image->pickColor(125, 70));
|
||||
$this->assertColor(0, 0, 255, 255, $image->pickColor(130, 54));
|
||||
$this->assertTransparency($image->pickColor(170, 30));
|
||||
}
|
||||
}
|
29
tests/Unit/Drivers/Gd/Modifiers/ResolutionModifierTest.php
Normal file
29
tests/Unit/Drivers/Gd/Modifiers/ResolutionModifierTest.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\ResolutionModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\ResolutionModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ResolutionModifier::class)]
|
||||
final class ResolutionModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testResolutionChange(): void
|
||||
{
|
||||
$image = $this->readTestImage('test.jpg');
|
||||
$this->assertEquals(72.0, $image->resolution()->x());
|
||||
$this->assertEquals(72.0, $image->resolution()->y());
|
||||
$image->modify(new ResolutionModifier(1, 2));
|
||||
$this->assertEquals(1.0, $image->resolution()->x());
|
||||
$this->assertEquals(2.0, $image->resolution()->y());
|
||||
}
|
||||
}
|
29
tests/Unit/Drivers/Gd/Modifiers/RotateModifierTest.php
Normal file
29
tests/Unit/Drivers/Gd/Modifiers/RotateModifierTest.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\RotateModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\RotateModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\RotateModifier::class)]
|
||||
final class RotateModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testRotate(): void
|
||||
{
|
||||
$image = $this->readTestImage('test.jpg');
|
||||
$this->assertEquals(320, $image->width());
|
||||
$this->assertEquals(240, $image->height());
|
||||
$image->modify(new RotateModifier(90, 'fff'));
|
||||
$this->assertEquals(240, $image->width());
|
||||
$this->assertEquals(320, $image->height());
|
||||
}
|
||||
}
|
27
tests/Unit/Drivers/Gd/Modifiers/SharpenModifierTest.php
Normal file
27
tests/Unit/Drivers/Gd/Modifiers/SharpenModifierTest.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers;
|
||||
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||
use Intervention\Image\Modifiers\SharpenModifier;
|
||||
use Intervention\Image\Tests\BaseTestCase;
|
||||
use Intervention\Image\Tests\Traits\CanCreateGdTestImage;
|
||||
|
||||
#[RequiresPhpExtension('gd')]
|
||||
#[CoversClass(\Intervention\Image\Modifiers\SharpenModifier::class)]
|
||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\SharpenModifier::class)]
|
||||
final class SharpenModifierTest extends BaseTestCase
|
||||
{
|
||||
use CanCreateGdTestImage;
|
||||
|
||||
public function testModify(): void
|
||||
{
|
||||
$image = $this->readTestImage('trim.png');
|
||||
$this->assertEquals('60ab96', $image->pickColor(15, 14)->toHex());
|
||||
$image->modify(new SharpenModifier(10));
|
||||
$this->assertEquals('4daba7', $image->pickColor(15, 14)->toHex());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user