|
|
|
@@ -19,11 +19,16 @@ final class PreviewConfigurationTest extends TestCase
|
|
|
|
|
self::assertTrue($preview->enabled());
|
|
|
|
|
self::assertSame('previews', $preview->store());
|
|
|
|
|
self::assertSame(26214400, $preview->maxSourceSize());
|
|
|
|
|
self::assertSame(640, $preview->variants()->variant('popover')?->width);
|
|
|
|
|
self::assertSame(440, $preview->variants()->variant('popover')?->height);
|
|
|
|
|
self::assertSame('image/webp', $preview->variants()->variant('popover')?->format);
|
|
|
|
|
self::assertSame(80, $preview->variants()->variant('popover')?->quality);
|
|
|
|
|
self::assertSame(256, $preview->variants()->variant('thumbnail')?->width);
|
|
|
|
|
self::assertSame(128, $preview->variants()->variant('thumbnail')?->width);
|
|
|
|
|
self::assertSame(128, $preview->variants()->variant('thumbnail')?->height);
|
|
|
|
|
self::assertSame(70, $preview->variants()->variant('thumbnail')?->quality);
|
|
|
|
|
self::assertSame(640, $preview->variants()->variant('inline')?->width);
|
|
|
|
|
self::assertSame(640, $preview->variants()->variant('inline')?->height);
|
|
|
|
|
self::assertSame('image/webp', $preview->variants()->variant('inline')?->format);
|
|
|
|
|
self::assertSame(80, $preview->variants()->variant('inline')?->quality);
|
|
|
|
|
self::assertSame(2560, $preview->variants()->variant('fullscreen')?->width);
|
|
|
|
|
self::assertSame(2560, $preview->variants()->variant('fullscreen')?->height);
|
|
|
|
|
self::assertSame(90, $preview->variants()->variant('fullscreen')?->quality);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[Test]
|
|
|
|
@@ -34,7 +39,7 @@ final class PreviewConfigurationTest extends TestCase
|
|
|
|
|
'store' => 'generated-content',
|
|
|
|
|
'maxSourceSize' => 1024,
|
|
|
|
|
'variants' => [
|
|
|
|
|
'popover' => [
|
|
|
|
|
'inline' => [
|
|
|
|
|
'width' => 800,
|
|
|
|
|
'height' => 600,
|
|
|
|
|
'format' => 'IMAGE/PNG',
|
|
|
|
@@ -47,9 +52,9 @@ final class PreviewConfigurationTest extends TestCase
|
|
|
|
|
|
|
|
|
|
self::assertSame('generated-content', $configuration->preview()->store());
|
|
|
|
|
self::assertSame(1024, $configuration->preview()->maxSourceSize());
|
|
|
|
|
self::assertSame(['popover'], array_keys($configuration->preview()->variants()->all()));
|
|
|
|
|
self::assertSame('image/png', $configuration->preview()->variants()->variant('popover')?->format);
|
|
|
|
|
$data['variants']['popover']['format'] = 'image/png';
|
|
|
|
|
self::assertSame(['inline'], array_keys($configuration->preview()->variants()->all()));
|
|
|
|
|
self::assertSame('image/png', $configuration->preview()->variants()->variant('inline')?->format);
|
|
|
|
|
$data['variants']['inline']['format'] = 'image/png';
|
|
|
|
|
self::assertSame($data, $configuration->jsonSerialize()['preview']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -59,14 +64,14 @@ final class PreviewConfigurationTest extends TestCase
|
|
|
|
|
$configuration = (new TenantConfiguration())->jsonDeserialize([
|
|
|
|
|
'preview' => [
|
|
|
|
|
'variants' => [
|
|
|
|
|
'popover' => ['width' => 900],
|
|
|
|
|
'inline' => ['width' => 900],
|
|
|
|
|
],
|
|
|
|
|
],
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
$variant = $configuration->preview()->variants()->variant('popover');
|
|
|
|
|
$variant = $configuration->preview()->variants()->variant('inline');
|
|
|
|
|
self::assertSame(900, $variant?->width);
|
|
|
|
|
self::assertSame(440, $variant?->height);
|
|
|
|
|
self::assertSame(640, $variant?->height);
|
|
|
|
|
self::assertSame('image/webp', $variant?->format);
|
|
|
|
|
self::assertSame(80, $variant?->quality);
|
|
|
|
|
self::assertNull($configuration->preview()->variants()->variant('thumbnail'));
|
|
|
|
@@ -88,10 +93,10 @@ final class PreviewConfigurationTest extends TestCase
|
|
|
|
|
{
|
|
|
|
|
yield 'invalid store' => [['store' => '../previews']];
|
|
|
|
|
yield 'zero source limit' => [['maxSourceSize' => 0]];
|
|
|
|
|
yield 'invalid variant name' => [['variants' => ['../popover' => []]]];
|
|
|
|
|
yield 'invalid dimensions' => [['variants' => ['popover' => ['width' => 0]]]];
|
|
|
|
|
yield 'invalid output MIME' => [['variants' => ['popover' => ['format' => 'webp']]]];
|
|
|
|
|
yield 'invalid quality' => [['variants' => ['popover' => ['quality' => 101]]]];
|
|
|
|
|
yield 'invalid variant name' => [['variants' => ['../inline' => []]]];
|
|
|
|
|
yield 'invalid dimensions' => [['variants' => ['inline' => ['width' => 0]]]];
|
|
|
|
|
yield 'invalid output MIME' => [['variants' => ['inline' => ['format' => 'webp']]]];
|
|
|
|
|
yield 'invalid quality' => [['variants' => ['inline' => ['quality' => 101]]]];
|
|
|
|
|
yield 'enabled without variants' => [['enabled' => true, 'variants' => []]];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|