diff --git a/tests/Unit/ImageManagerTest.php b/tests/Unit/ImageManagerTest.php deleted file mode 100644 index 2b28e09d..00000000 --- a/tests/Unit/ImageManagerTest.php +++ /dev/null @@ -1,207 +0,0 @@ -assertInstanceOf(ImageManager::class, $manager); - - $manager = new ImageManager(GdDriver::class); - $this->assertInstanceOf(ImageManager::class, $manager); - } - - public function testWithDriver(): void - { - $manager = ImageManager::withDriver(new GdDriver()); - $this->assertInstanceOf(ImageManager::class, $manager); - - $manager = ImageManager::withDriver(GdDriver::class); - $this->assertInstanceOf(ImageManager::class, $manager); - } - - public function testDriver(): void - { - $driver = new GdDriver(); - $manager = ImageManager::withDriver($driver); - $this->assertEquals($driver, $manager->driver()); - } - - public function testDriverStatics(): void - { - $manager = ImageManager::gd(); - $this->assertInstanceOf(ImageManager::class, $manager); - - $manager = ImageManager::imagick(); - $this->assertInstanceOf(ImageManager::class, $manager); - } - - #[RequiresPhpExtension('gd')] - public function testCreateGd(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->create(5, 4); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('gd')] - public function testAnimateGd(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->animate(function ($animation) { - $animation->add($this->getTestResourcePath('red.gif'), .25); - }); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('gd')] - public function testReadGd(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif')); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('gd')] - public function testReadGdWithDecoderClassname(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), FilePathImageDecoder::class); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('gd')] - public function testReadGdWithDecoderInstance(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), new FilePathImageDecoder()); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('gd')] - public function testReadGdWithDecoderClassnameArray(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), [FilePathImageDecoder::class]); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('gd')] - public function testReadGdWithDecoderInstanceArray(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), [new FilePathImageDecoder()]); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('gd')] - public function testReadGdWithDecoderInstanceArrayMultiple(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), [ - new BinaryImageDecoder(), - new FilePathImageDecoder(), - ]); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('gd')] - public function testReadGdWithRotationAdjustment(): void - { - $manager = new ImageManager(GdDriver::class); - $image = $manager->read($this->getTestResourcePath('orientation.jpg')); - $this->assertColor(255, 255, 255, 255, $image->pickColor(0, 24)); - } - - #[RequiresPhpExtension('imagick')] - public function testCreateImagick(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->create(5, 4); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('imagick')] - public function testAnimateImagick(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->animate(function ($animation) { - $animation->add($this->getTestResourcePath('red.gif'), .25); - }); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('imagick')] - public function testReadImagick(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif')); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('imagick')] - public function testReadImagickWithDecoderClassname(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), FilePathImageDecoder::class); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('imagick')] - public function testReadImagickWithDecoderInstance(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), new FilePathImageDecoder()); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('imagick')] - public function testReadImagickWithDecoderClassnameArray(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), [FilePathImageDecoder::class]); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('imagick')] - public function testReadImagickWithDecoderInstanceArray(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), [new FilePathImageDecoder()]); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('imagick')] - public function testReadImagickWithDecoderInstanceArrayMultiple(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read($this->getTestResourcePath('red.gif'), [ - new BinaryImageDecoder(), - new FilePathImageDecoder(), - ]); - $this->assertInstanceOf(ImageInterface::class, $image); - } - - #[RequiresPhpExtension('imagick')] - public function testReadImagickWithRotationAdjustment(): void - { - $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read($this->getTestResourcePath('orientation.jpg')); - $this->assertColor(255, 255, 255, 255, $image->pickColor(0, 24)); - } -} diff --git a/tests/Unit/ImageManagerTestGd.php b/tests/Unit/ImageManagerTestGd.php new file mode 100644 index 00000000..84007c0e --- /dev/null +++ b/tests/Unit/ImageManagerTestGd.php @@ -0,0 +1,125 @@ +assertInstanceOf(ImageManager::class, $manager); + + $manager = new ImageManager(Driver::class); + $this->assertInstanceOf(ImageManager::class, $manager); + } + + public function testWithDriver(): void + { + $manager = ImageManager::withDriver(new Driver()); + $this->assertInstanceOf(ImageManager::class, $manager); + + $manager = ImageManager::withDriver(Driver::class); + $this->assertInstanceOf(ImageManager::class, $manager); + } + + public function testDriver(): void + { + $driver = new Driver(); + $manager = ImageManager::withDriver($driver); + $this->assertEquals($driver, $manager->driver()); + } + + public function testDriverStatic(): void + { + $manager = ImageManager::gd(); + $this->assertInstanceOf(ImageManager::class, $manager); + } + + public function testCreateGd(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->create(5, 4); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testAnimateGd(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->animate(function ($animation) { + $animation->add($this->getTestResourcePath('red.gif'), .25); + }); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadGd(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif')); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadGdWithDecoderClassname(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), FilePathImageDecoder::class); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadGdWithDecoderInstance(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), new FilePathImageDecoder()); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadGdWithDecoderClassnameArray(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), [FilePathImageDecoder::class]); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadGdWithDecoderInstanceArray(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), [new FilePathImageDecoder()]); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadGdWithDecoderInstanceArrayMultiple(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), [ + new BinaryImageDecoder(), + new FilePathImageDecoder(), + ]); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadGdWithRotationAdjustment(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('orientation.jpg')); + $this->assertColor(1, 0, 254, 255, $image->pickColor(3, 3)); + } + + public function testReadImagickWithoutRotationAdjustment(): void + { + $manager = new ImageManager(Driver::class, autoOrientation: false); + $image = $manager->read($this->getTestResourcePath('orientation.jpg')); + $this->assertColor(250, 2, 3, 255, $image->pickColor(3, 3)); + } +} diff --git a/tests/Unit/ImageManagerTestImagick.php b/tests/Unit/ImageManagerTestImagick.php new file mode 100644 index 00000000..60773397 --- /dev/null +++ b/tests/Unit/ImageManagerTestImagick.php @@ -0,0 +1,125 @@ +assertInstanceOf(ImageManager::class, $manager); + + $manager = new ImageManager(Driver::class); + $this->assertInstanceOf(ImageManager::class, $manager); + } + + public function testWithDriver(): void + { + $manager = ImageManager::withDriver(new Driver()); + $this->assertInstanceOf(ImageManager::class, $manager); + + $manager = ImageManager::withDriver(Driver::class); + $this->assertInstanceOf(ImageManager::class, $manager); + } + + public function testDriver(): void + { + $driver = new Driver(); + $manager = ImageManager::withDriver($driver); + $this->assertEquals($driver, $manager->driver()); + } + + public function testDriverStatic(): void + { + $manager = ImageManager::imagick(); + $this->assertInstanceOf(ImageManager::class, $manager); + } + + public function testCreateImagick(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->create(5, 4); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testAnimateImagick(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->animate(function ($animation) { + $animation->add($this->getTestResourcePath('red.gif'), .25); + }); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadImagick(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif')); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadImagickWithDecoderClassname(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), FilePathImageDecoder::class); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadImagickWithDecoderInstance(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), new FilePathImageDecoder()); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadImagickWithDecoderClassnameArray(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), [FilePathImageDecoder::class]); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadImagickWithDecoderInstanceArray(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), [new FilePathImageDecoder()]); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadImagickWithDecoderInstanceArrayMultiple(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('red.gif'), [ + new BinaryImageDecoder(), + new FilePathImageDecoder(), + ]); + $this->assertInstanceOf(ImageInterface::class, $image); + } + + public function testReadImagickWithRotationAdjustment(): void + { + $manager = new ImageManager(Driver::class); + $image = $manager->read($this->getTestResourcePath('orientation.jpg')); + $this->assertColor(1, 0, 254, 255, $image->pickColor(3, 3)); + } + + public function testReadImagickWithoutRotationAdjustment(): void + { + $manager = new ImageManager(Driver::class, autoOrientation: false); + $image = $manager->read($this->getTestResourcePath('orientation.jpg')); + $this->assertColor(250, 2, 3, 255, $image->pickColor(3, 3)); + } +}