diff --git a/tests/Encoders/FileExtensionEncoderTest.php b/tests/Encoders/FileExtensionEncoderTest.php new file mode 100644 index 00000000..e46ad337 --- /dev/null +++ b/tests/Encoders/FileExtensionEncoderTest.php @@ -0,0 +1,79 @@ +assertInstanceOf( + WebpEncoder::class, + $encoder->encoderByFileExtension('webp') + ); + + $this->assertInstanceOf( + AvifEncoder::class, + $encoder->encoderByFileExtension('avif') + ); + + $this->assertInstanceOf( + JpegEncoder::class, + $encoder->encoderByFileExtension('jpeg') + ); + + $this->assertInstanceOf( + BmpEncoder::class, + $encoder->encoderByFileExtension('bmp') + ); + + $this->assertInstanceOf( + GifEncoder::class, + $encoder->encoderByFileExtension('gif') + ); + + $this->assertInstanceOf( + PngEncoder::class, + $encoder->encoderByFileExtension('png') + ); + + $this->assertInstanceOf( + TiffEncoder::class, + $encoder->encoderByFileExtension('tiff') + ); + + $this->assertInstanceOf( + Jpeg2000Encoder::class, + $encoder->encoderByFileExtension('jp2') + ); + + $this->assertInstanceOf( + HeicEncoder::class, + $encoder->encoderByFileExtension('heic') + ); + } + + public function testEncoderByFileExtensionUnknown(): void + { + $encoder = Mockery::mock(FileExtensionEncoder::class); + $this->expectException(EncoderException::class); + $encoder->encoderByFileExtension('test'); + } +}