generated from Nodarx/template
refactor: simplify preview generation
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
+2
-20
@@ -56,16 +56,6 @@ final class Provider implements PreviewProviderInterface
|
|||||||
return 'image';
|
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
|
public function supports(string $sourceMimeType, PreviewRequest $request): bool
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -74,10 +64,8 @@ final class Provider implements PreviewProviderInterface
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return in_array($sourceMimeType, $this->supportedMimeTypes(), true)
|
return in_array($sourceMimeType, array_values(self::INPUT_FORMATS), true)
|
||||||
&& isset(self::OUTPUT_FORMATS[$request->preferredMimeType])
|
&& isset(self::OUTPUT_FORMATS[$request->preferredMimeType]);
|
||||||
&& ($request->page === null || $request->page === 1)
|
|
||||||
&& $request->timestamp === null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function generate(PreviewSource $source, PreviewRequest $request): PreviewResult
|
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
|
public function priority(): int
|
||||||
{
|
{
|
||||||
return 100;
|
return 100;
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ final class ProviderTest extends TestCase
|
|||||||
#[DataProvider('outputFormats')]
|
#[DataProvider('outputFormats')]
|
||||||
public function encodesEveryAdvertisedOutputFormat(string $mimeType, string $format): void
|
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(
|
$result = (new Provider())->generate(
|
||||||
$this->source($this->image('PNG', 20, 20, 'rgba(255, 0, 0, 0.25)'), 'image/png'),
|
$this->source($this->image('PNG', 20, 20, 'rgba(255, 0, 0, 0.25)'), 'image/png'),
|
||||||
$request,
|
$request,
|
||||||
@@ -102,7 +102,7 @@ final class ProviderTest extends TestCase
|
|||||||
#[Test]
|
#[Test]
|
||||||
public function preservesTransparencyInPngOutput(): void
|
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(
|
$result = (new Provider())->generate(
|
||||||
$this->source($this->image('PNG', 20, 20, 'rgba(255, 0, 0, 0.25)'), 'image/png'),
|
$this->source($this->image('PNG', 20, 20, 'rgba(255, 0, 0, 0.25)'), 'image/png'),
|
||||||
$request,
|
$request,
|
||||||
@@ -166,7 +166,6 @@ final class ProviderTest extends TestCase
|
|||||||
{
|
{
|
||||||
$content = $this->image('PNG', 20, 20);
|
$content = $this->image('PNG', 20, 20);
|
||||||
$request = new PreviewRequest(
|
$request = new PreviewRequest(
|
||||||
'popover',
|
|
||||||
640,
|
640,
|
||||||
440,
|
440,
|
||||||
'image/webp',
|
'image/webp',
|
||||||
@@ -181,7 +180,7 @@ final class ProviderTest extends TestCase
|
|||||||
|
|
||||||
private function request(): PreviewRequest
|
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
|
private function source(string $content, string $mimeType, ?int $size = null): PreviewSource
|
||||||
|
|||||||
Reference in New Issue
Block a user