generated from Nodarx/template
Merge pull request 'refactor: simplify preview generation' (#2) from feat/add-imagemagick-preview-provider into main
Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
+2
-20
@@ -56,16 +56,6 @@ final class Provider implements PreviewProviderInterface
|
||||
return 'image';
|
||||
}
|
||||
|
||||
public function supportedMimeTypes(): array
|
||||
{
|
||||
return array_values(self::INPUT_FORMATS);
|
||||
}
|
||||
|
||||
public function outputMimeTypes(): array
|
||||
{
|
||||
return array_keys(self::OUTPUT_FORMATS);
|
||||
}
|
||||
|
||||
public function supports(string $sourceMimeType, PreviewRequest $request): bool
|
||||
{
|
||||
try {
|
||||
@@ -74,10 +64,8 @@ final class Provider implements PreviewProviderInterface
|
||||
return false;
|
||||
}
|
||||
|
||||
return in_array($sourceMimeType, $this->supportedMimeTypes(), true)
|
||||
&& isset(self::OUTPUT_FORMATS[$request->preferredMimeType])
|
||||
&& ($request->page === null || $request->page === 1)
|
||||
&& $request->timestamp === null;
|
||||
return in_array($sourceMimeType, array_values(self::INPUT_FORMATS), true)
|
||||
&& isset(self::OUTPUT_FORMATS[$request->preferredMimeType]);
|
||||
}
|
||||
|
||||
public function generate(PreviewSource $source, PreviewRequest $request): PreviewResult
|
||||
@@ -132,12 +120,6 @@ final class Provider implements PreviewProviderInterface
|
||||
}
|
||||
}
|
||||
|
||||
public function generatorVersion(): string
|
||||
{
|
||||
$version = Imagick::getVersion();
|
||||
return $version['versionString'] ?? 'ImageMagick';
|
||||
}
|
||||
|
||||
public function priority(): int
|
||||
{
|
||||
return 100;
|
||||
|
||||
@@ -86,7 +86,7 @@ final class ProviderTest extends TestCase
|
||||
#[DataProvider('outputFormats')]
|
||||
public function encodesEveryAdvertisedOutputFormat(string $mimeType, string $format): void
|
||||
{
|
||||
$request = new PreviewRequest('popover', 640, 440, $mimeType, 80);
|
||||
$request = new PreviewRequest(640, 440, $mimeType, 80);
|
||||
$result = (new Provider())->generate(
|
||||
$this->source($this->image('PNG', 20, 20, 'rgba(255, 0, 0, 0.25)'), 'image/png'),
|
||||
$request,
|
||||
@@ -102,7 +102,7 @@ final class ProviderTest extends TestCase
|
||||
#[Test]
|
||||
public function preservesTransparencyInPngOutput(): void
|
||||
{
|
||||
$request = new PreviewRequest('popover', 640, 440, 'image/png', 80);
|
||||
$request = new PreviewRequest(640, 440, 'image/png', 80);
|
||||
$result = (new Provider())->generate(
|
||||
$this->source($this->image('PNG', 20, 20, 'rgba(255, 0, 0, 0.25)'), 'image/png'),
|
||||
$request,
|
||||
@@ -166,7 +166,6 @@ final class ProviderTest extends TestCase
|
||||
{
|
||||
$content = $this->image('PNG', 20, 20);
|
||||
$request = new PreviewRequest(
|
||||
'popover',
|
||||
640,
|
||||
440,
|
||||
'image/webp',
|
||||
@@ -181,7 +180,7 @@ final class ProviderTest extends TestCase
|
||||
|
||||
private function request(): PreviewRequest
|
||||
{
|
||||
return new PreviewRequest('popover', 640, 440, 'image/webp', 80);
|
||||
return new PreviewRequest(640, 440, 'image/webp', 80);
|
||||
}
|
||||
|
||||
private function source(string $content, string $mimeType, ?int $size = null): PreviewSource
|
||||
|
||||
Reference in New Issue
Block a user