From c594ed1dd0ad7fcebe688065d179aa59c5622d34 Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sun, 17 Dec 2023 16:48:09 +0100 Subject: [PATCH] Add mediaType methods for every mimetype method --- src/EncodedImage.php | 20 +++++++++++++++----- src/Encoders/AutoEncoder.php | 2 +- src/Interfaces/EncodedImageInterface.php | 7 +++++++ src/Origin.php | 11 ++++++++--- tests/EncodedImageTest.php | 9 +++++++++ 5 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/EncodedImage.php b/src/EncodedImage.php index 17f28037..c0f9fe65 100644 --- a/src/EncodedImage.php +++ b/src/EncodedImage.php @@ -10,22 +10,32 @@ class EncodedImage extends File implements EncodedImageInterface * Create new instance * * @param string $data - * @param string $mimetype + * @param string $mediaType */ public function __construct( protected string $data, - protected string $mimetype = 'application/octet-stream' + protected string $mediaType = 'application/octet-stream' ) { } /** - * Return mime type of encoed image data + * Return media (mime) type of encoed image data + * + * @return string + */ + public function mediaType(): string + { + return $this->mediaType; + } + + /** + * Alias of self::mediaType( * * @return string */ public function mimetype(): string { - return $this->mimetype; + return $this->mediaType(); } /** @@ -35,6 +45,6 @@ class EncodedImage extends File implements EncodedImageInterface */ public function toDataUri(): string { - return sprintf('data:%s;base64,%s', $this->mimetype, base64_encode($this->data)); + return sprintf('data:%s;base64,%s', $this->mediaType, base64_encode($this->data)); } } diff --git a/src/Encoders/AutoEncoder.php b/src/Encoders/AutoEncoder.php index d39d6d49..4a8850db 100644 --- a/src/Encoders/AutoEncoder.php +++ b/src/Encoders/AutoEncoder.php @@ -11,7 +11,7 @@ class AutoEncoder implements EncoderInterface { public function encode(ImageInterface $image): EncodedImageInterface { - $type = $image->origin()->mimetype(); + $type = $image->origin()->mediaType(); return $image->encode( match ($type) { 'image/webp' => new WebpEncoder(), diff --git a/src/Interfaces/EncodedImageInterface.php b/src/Interfaces/EncodedImageInterface.php index 0c15f3f7..16f8e84c 100644 --- a/src/Interfaces/EncodedImageInterface.php +++ b/src/Interfaces/EncodedImageInterface.php @@ -9,6 +9,13 @@ interface EncodedImageInterface extends FileInterface * * @return string */ + public function mediaType(): string; + + /** + * Alias of self::mediaType() + * + * @return string + */ public function mimetype(): string; /** diff --git a/src/Origin.php b/src/Origin.php index fd5460a8..1dea1f7e 100644 --- a/src/Origin.php +++ b/src/Origin.php @@ -7,16 +7,21 @@ class Origin /** * Create new origin instance * - * @param string $mimetype + * @param string $mediaType * @return void */ public function __construct( - protected string $mimetype = 'application/octet-stream' + protected string $mediaType = 'application/octet-stream' ) { } + public function mediaType(): string + { + return $this->mediaType; + } + public function mimetype(): string { - return $this->mimetype; + return $this->mediaType(); } } diff --git a/tests/EncodedImageTest.php b/tests/EncodedImageTest.php index a848ee95..2cdb9cad 100644 --- a/tests/EncodedImageTest.php +++ b/tests/EncodedImageTest.php @@ -38,6 +38,15 @@ class EncodedImageTest extends TestCase $this->assertEquals('foo', (string) $image); } + public function testMediaType(): void + { + $image = new EncodedImage('foo'); + $this->assertEquals('application/octet-stream', $image->mediaType()); + + $image = new EncodedImage('foo', 'image/jpeg'); + $this->assertEquals('image/jpeg', $image->mediaType()); + } + public function testMimetype(): void { $image = new EncodedImage('foo');