diff --git a/bundles/core/src/main/java/io/wcm/wcm/core/components/impl/models/v3/ImageV3Impl.java b/bundles/core/src/main/java/io/wcm/wcm/core/components/impl/models/v3/ImageV3Impl.java index 545c496..b9069af 100644 --- a/bundles/core/src/main/java/io/wcm/wcm/core/components/impl/models/v3/ImageV3Impl.java +++ b/bundles/core/src/main/java/io/wcm/wcm/core/components/impl/models/v3/ImageV3Impl.java @@ -229,7 +229,11 @@ protected List buildRenditionWidths() { * @return Url pattern */ protected String buildSrcPattern() { - UriTemplate uriTempalte = media.getRendition().getUriTemplate(UriTemplateType.SCALE_WIDTH); + Rendition rendition = media.getRendition(); + if (!rendition.isImage() || rendition.isVectorImage()) { + return null; + } + UriTemplate uriTempalte = rendition.getUriTemplate(UriTemplateType.SCALE_WIDTH); return StringUtils.replace(uriTempalte.getUriTemplate(), URI_TEMPLATE_PLACEHOLDER_WIDTH, WIDTH_PLACEHOLDER); } diff --git a/bundles/core/src/test/java/io/wcm/wcm/core/components/impl/models/v3/ImageV3ImplTest.java b/bundles/core/src/test/java/io/wcm/wcm/core/components/impl/models/v3/ImageV3ImplTest.java index 3800cde..57522a9 100644 --- a/bundles/core/src/test/java/io/wcm/wcm/core/components/impl/models/v3/ImageV3ImplTest.java +++ b/bundles/core/src/test/java/io/wcm/wcm/core/components/impl/models/v3/ImageV3ImplTest.java @@ -184,6 +184,23 @@ void testWithAssetImage() { assertInvalidLink(underTest.getImageLink()); } + @Test + void testWithAssetImage_SVG() { + Asset svgAsset = context.create().asset(DAM_ROOT + "/sample.svg", 160, 90, ContentType.SVG); + + context.currentResource(context.create().resource(page, "image", + PROPERTY_RESOURCE_TYPE, RESOURCE_TYPE, + PN_IMAGE_FROM_PAGE_IMAGE, false, + PN_MEDIA_REF_STANDARD, svgAsset.getPath())); + + Image underTest = AdaptTo.notNull(context.request(), Image.class); + + String expectedMediaUrl = DAM_ROOT + "/sample.svg/_jcr_content/renditions/original./sample.svg"; + + assertEquals(expectedMediaUrl, underTest.getSrc()); + assertNull(underTest.getSrcUriTemplate()); + } + @Test @SuppressWarnings({ "deprecation", "null" }) void testWithAssetImageFromPage() {