diff --git a/src/ImageManipulation.php b/src/ImageManipulation.php index 8f9e7491..a45cc08a 100644 --- a/src/ImageManipulation.php +++ b/src/ImageManipulation.php @@ -720,6 +720,10 @@ public function ThumbnailURL($width, $height) */ public function Convert(string $toExtension): ?AssetContainer { + // Verify this manipulation is applicable to this instance + if (!$this->exists()) { + return null; + } $converter = Injector::inst()->get(FileConverterManager::class); try { return $converter->convert($this, $toExtension); diff --git a/tests/php/ImageManipulationTest.php b/tests/php/ImageManipulationTest.php index 9621fc90..0c603bc8 100644 --- a/tests/php/ImageManipulationTest.php +++ b/tests/php/ImageManipulationTest.php @@ -606,6 +606,12 @@ public function testConvert(string $originalFileFixtureClass, string $originalFi } } + public function testConvertEmpty(): void + { + $file = new Image(); + $this->assertNull($file->Convert('webp')); + } + public function provideConvertChainWithLazyLoad(): array { return [