diff --git a/bundle/pom.xml b/bundle/pom.xml index f81da0db67..101fa242fa 100644 --- a/bundle/pom.xml +++ b/bundle/pom.xml @@ -513,6 +513,11 @@ mockito-core test + + org.mockito + mockito-junit-jupiter + test + junit-addons junit-addons @@ -660,6 +665,20 @@ + + io.wcm + io.wcm.testing.aem-mock.junit5 + + + org.slf4j + slf4j-simple + + + org.apache.jackrabbit + oak-jcr + + + org.apache.sling org.apache.sling.commons.testing diff --git a/bundle/src/main/java/com/adobe/acs/commons/mcp/form/FieldsetComponent.java b/bundle/src/main/java/com/adobe/acs/commons/mcp/form/FieldsetComponent.java index d305f45ffd..547db76558 100644 --- a/bundle/src/main/java/com/adobe/acs/commons/mcp/form/FieldsetComponent.java +++ b/bundle/src/main/java/com/adobe/acs/commons/mcp/form/FieldsetComponent.java @@ -41,7 +41,9 @@ public void init() { @Override public Resource buildComponentResource() { - getProperties().put(CLASS, getCssClass()); + if (getCssClass() != null) { + getProperties().put(CLASS, getCssClass()); + } return super.buildComponentResource(); } diff --git a/bundle/src/test/java/com/adobe/acs/commons/mcp/form/FieldsetTest.java b/bundle/src/test/java/com/adobe/acs/commons/mcp/form/FieldsetTest.java new file mode 100644 index 0000000000..255a5e47a9 --- /dev/null +++ b/bundle/src/test/java/com/adobe/acs/commons/mcp/form/FieldsetTest.java @@ -0,0 +1,48 @@ +package com.adobe.acs.commons.mcp.form; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.mockito.Mockito.when; + +import java.lang.reflect.Field; + +import io.wcm.testing.mock.aem.junit5.AemContext; +import io.wcm.testing.mock.aem.junit5.AemContextExtension; +import org.apache.sling.api.resource.Resource; +import org.apache.sling.api.resource.ValueMap; +import org.apache.sling.api.scripting.SlingScriptHelper; +import org.apache.sling.testing.mock.sling.ResourceResolverType; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +@ExtendWith({MockitoExtension.class, AemContextExtension.class}) +class FieldsetTest { + + private final AemContext ctx = new AemContext(ResourceResolverType.JCR_MOCK); + + @Mock + private FormField formField; + + @Mock + private SlingScriptHelper slingScriptHelper; + + @BeforeEach + public void setup() { + ctx.currentResource(ctx.create().resource("/dummy/resource")); + when(slingScriptHelper.getRequest()).thenReturn(ctx.request()); + } + + @Test + public void classNotSpecified() { + final FieldsetComponent fieldsetComponent = new FieldsetComponent(); + fieldsetComponent.setup("dummy", null, formField, slingScriptHelper); + + Resource resource = fieldsetComponent.buildComponentResource(); + ValueMap map = resource.getValueMap(); + + System.out.println(map); + assertFalse(map.containsKey("class")); + } +} diff --git a/pom.xml b/pom.xml index 624ee5d2d8..918b8338b6 100644 --- a/pom.xml +++ b/pom.xml @@ -638,6 +638,12 @@ Service-Component: OSGI-INF/*.xml 4.11.0 test + + org.mockito + mockito-junit-jupiter + 4.11.0 + test + org.jacoco org.jacoco.agent @@ -682,6 +688,18 @@ Service-Component: OSGI-INF/*.xml + + io.wcm + io.wcm.testing.aem-mock.junit5 + 5.1.2 + test + + + org.slf4j + slf4j-simple + + + org.skyscreamer jsonassert