From 0cd29e6a78d3cc0d2625cc9798ab564d8792ef99 Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Fri, 17 Jan 2025 15:14:06 +0100 Subject: [PATCH] Fix bug when trying to create FileExtension Creation was only possible from lowercase extensions. This patch makes it possible to create from lowercase or uppercase. --- src/Encoders/FileExtensionEncoder.php | 2 +- tests/Unit/Encoders/FileExtensionEncoderTest.php | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Encoders/FileExtensionEncoder.php b/src/Encoders/FileExtensionEncoder.php index 9db37ed5..9736112f 100644 --- a/src/Encoders/FileExtensionEncoder.php +++ b/src/Encoders/FileExtensionEncoder.php @@ -61,7 +61,7 @@ class FileExtensionEncoder extends AutoEncoder } try { - $extension = is_string($extension) ? FileExtension::from($extension) : $extension; + $extension = is_string($extension) ? FileExtension::from(strtolower($extension)) : $extension; } catch (Error) { throw new EncoderException('No encoder found for file extension (' . $extension . ').'); } diff --git a/tests/Unit/Encoders/FileExtensionEncoderTest.php b/tests/Unit/Encoders/FileExtensionEncoderTest.php index ac03cf92..d44597be 100644 --- a/tests/Unit/Encoders/FileExtensionEncoderTest.php +++ b/tests/Unit/Encoders/FileExtensionEncoderTest.php @@ -67,6 +67,17 @@ final class FileExtensionEncoderTest extends BaseTestCase yield ['tif', TiffEncoder::class]; yield ['jp2', Jpeg2000Encoder::class]; yield ['heic', HeicEncoder::class]; + yield ['WEBP', WebpEncoder::class]; + yield ['AVIF', AvifEncoder::class]; + yield ['JPEG', JpegEncoder::class]; + yield ['JPG', JpegEncoder::class]; + yield ['BMP', BmpEncoder::class]; + yield ['GIF', GifEncoder::class]; + yield ['PNG', PngEncoder::class]; + yield ['TIFF', TiffEncoder::class]; + yield ['TIF', TiffEncoder::class]; + yield ['JP2', Jpeg2000Encoder::class]; + yield ['HEIC', HeicEncoder::class]; yield [FileExtension::WEBP, WebpEncoder::class]; yield [FileExtension::AVIF, AvifEncoder::class]; yield [FileExtension::JPG, JpegEncoder::class];