You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2019/08/09 11:10:26 UTC
[sling-org-apache-sling-testing-sling-mock] branch master updated:
SLING-8628 sling-mock: Ensure consistent order of nested resources created
with ContentBuilder
This is an automated email from the ASF dual-hosted git repository.
sseifert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git
The following commit(s) were added to refs/heads/master by this push:
new 548d3a6 SLING-8628 sling-mock: Ensure consistent order of nested resources created with ContentBuilder
548d3a6 is described below
commit 548d3a694fe2b42400824a6fb52d7f7dad42a576
Author: sseifert <ss...@pro-vision.de>
AuthorDate: Fri Aug 9 13:10:09 2019 +0200
SLING-8628 sling-mock: Ensure consistent order of nested resources created with ContentBuilder
---
.../testing/mock/sling/builder/ContentBuilder.java | 3 +-
.../AbstractSlingCrudResourceResolverTest.java | 36 ++++++++++++++++------
2 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java b/core/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java
index f4f907f..a812270 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java
@@ -19,6 +19,7 @@
package org.apache.sling.testing.mock.sling.builder;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
@@ -108,7 +109,7 @@ public class ContentBuilder {
@SuppressWarnings("unchecked")
private Map<String,Map<String,Object>> getChildMaps(Map<String,Object> properties) {
- Map<String,Map<String,Object>> result = new HashMap<>();
+ Map<String,Map<String,Object>> result = new LinkedHashMap<>();
for (Map.Entry<String, Object> entry : properties.entrySet()) {
if (entry.getValue() instanceof Map) {
result.put(entry.getKey(), (Map)entry.getValue());
diff --git a/core/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractSlingCrudResourceResolverTest.java b/core/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractSlingCrudResourceResolverTest.java
index c8a8c01..74a9951 100644
--- a/core/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractSlingCrudResourceResolverTest.java
+++ b/core/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractSlingCrudResourceResolverTest.java
@@ -299,21 +299,39 @@ public abstract class AbstractSlingCrudResourceResolverTest {
"prop1", "value1",
"child1", ImmutableMap.<String,Object>of(
"prop2","value2",
- "child2", ImmutableMap.<String,Object>of(
- "prop3", "value3")
- )
- ));
+ "child1a", ImmutableMap.<String,Object>of(
+ "prop3", "value3"),
+ "child1b", ImmutableMap.<String,Object>of(
+ "prop4", "value4")
+ ),
+ "child2", ImmutableMap.<String,Object>of(
+ "prop5","value5"
+ )));
assertNotNull(nested);
assertEquals("value1", nested.getValueMap().get("prop1", String.class));
- Resource child1 = nested.getChild("child1");
- assertNotNull(child1);
+ List<Resource> children = ImmutableList.copyOf(nested.getChildren());
+ assertEquals(2, children.size());
+
+ Resource child1 = children.get(0);
+ assertEquals("child1", child1.getName());
assertEquals("value2", child1.getValueMap().get("prop2", String.class));
- Resource child2 = child1.getChild("child2");
- assertNotNull(child2);
- assertEquals("value3", child2.getValueMap().get("prop3", String.class));
+ Resource child2 = children.get(1);
+ assertEquals("child2", child2.getName());
+ assertEquals("value5", child2.getValueMap().get("prop5", String.class));
+
+ List<Resource> child1children = ImmutableList.copyOf(child1.getChildren());
+ assertEquals(2, child1children.size());
+
+ Resource child1a = child1children.get(0);
+ assertEquals("child1a", child1a.getName());
+ assertEquals("value3", child1a.getValueMap().get("prop3", String.class));
+
+ Resource child1b = child1children.get(1);
+ assertEquals("child1b", child1b.getName());
+ assertEquals("value4", child1b.getValueMap().get("prop4", String.class));
}
}