1
0
mirror of https://github.com/Intervention/image.git synced 2025-08-25 06:40:48 +02:00

Implement create() & tryCreate() for FileExtension & MediaType

This commit is contained in:
Oliver Vogel
2025-02-04 19:35:42 +01:00
parent 5e4f263825
commit d73ccf5271
4 changed files with 160 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Intervention\Image\Tests\Unit;
use Generator;
use Intervention\Image\Exceptions\NotSupportedException;
use Intervention\Image\FileExtension;
use Intervention\Image\Format;
use Intervention\Image\MediaType;
@@ -15,6 +16,33 @@ use PHPUnit\Framework\Attributes\DataProvider;
#[CoversClass(FileExtension::class)]
final class FileExtensionTest extends BaseTestCase
{
public function testCreate(): void
{
$this->assertEquals(FileExtension::JPG, FileExtension::create(MediaType::IMAGE_JPEG));
$this->assertEquals(FileExtension::JPG, FileExtension::create(Format::JPEG));
$this->assertEquals(FileExtension::JPG, FileExtension::create(FileExtension::JPG));
$this->assertEquals(FileExtension::JPG, FileExtension::create('jpg'));
$this->assertEquals(FileExtension::JPEG, FileExtension::create('jpeg'));
$this->assertEquals(FileExtension::JPG, FileExtension::create('image/jpeg'));
}
public function testCreateUnknown(): void
{
$this->expectException(NotSupportedException::class);
FileExtension::create('foo');
}
public function testTryCreate(): void
{
$this->assertEquals(FileExtension::JPG, FileExtension::tryCreate(MediaType::IMAGE_JPEG));
$this->assertEquals(FileExtension::JPG, FileExtension::tryCreate(Format::JPEG));
$this->assertEquals(FileExtension::JPG, FileExtension::tryCreate(FileExtension::JPG));
$this->assertEquals(FileExtension::JPG, FileExtension::tryCreate('jpg'));
$this->assertEquals(FileExtension::JPEG, FileExtension::tryCreate('jpeg'));
$this->assertEquals(FileExtension::JPG, FileExtension::tryCreate('image/jpeg'));
$this->assertNull(FileExtension::tryCreate('no-format'));
}
public function testFormatJpeg(): void
{
$ext = FileExtension::JPEG;