Author: kwin
Date: Wed Feb 3 15:37:01 2016
New Revision: 1728333
URL: http://svn.apache.org/viewvc?rev=1728333&view=rev
Log:
SLING-5481 improve mismatch failure message for Sling Hamcrest matchers
Modified:
sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceChildrenMatcher.java
sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceMatcher.java
Modified:
sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceChildrenMatcher.java
URL:
http://svn.apache.org/viewvc/sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceChildrenMatcher.java?rev=1728333&r1=1728332&r2=1728333&view=diff
==============================================================================
---
sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceChildrenMatcher.java
(original)
+++
sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceChildrenMatcher.java
Wed Feb 3 15:37:01 2016
@@ -16,6 +16,7 @@
*/
package org.apache.sling.hamcrest.matchers;
+import java.util.ArrayList;
import java.util.List;
import org.apache.sling.api.resource.Resource;
@@ -48,5 +49,14 @@ public class ResourceChildrenMatcher ext
}
return true;
}
-
+
+ @Override
+ protected void describeMismatchSafely(Resource item, Description
mismatchDescription) {
+ List<String> actualChildNames = new ArrayList<String>();
+ for (Resource child : item.getChildren()) {
+ actualChildNames.add(child.getName());
+ }
+ mismatchDescription.appendText("was Resource with children
").appendValueList("[", ",", "]", actualChildNames).appendText(" (resource:
").appendValue(item).appendText(")");
+ }
+
}
\ No newline at end of file
Modified:
sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceMatcher.java
URL:
http://svn.apache.org/viewvc/sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceMatcher.java?rev=1728333&r1=1728332&r2=1728333&view=diff
==============================================================================
---
sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceMatcher.java
(original)
+++
sling/trunk/testing/hamcrest/src/main/java/org/apache/sling/hamcrest/matchers/ResourceMatcher.java
Wed Feb 3 15:37:01 2016
@@ -16,6 +16,9 @@
*/
package org.apache.sling.hamcrest.matchers;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.sling.api.resource.Resource;
@@ -54,4 +57,14 @@ public class ResourceMatcher extends Typ
return true;
}
+ @Override
+ protected void describeMismatchSafely(Resource item, Description
mismatchDescription) {
+ Map<String, Object> actualProperties = item.adaptTo(ValueMap.class);
+ if (actualProperties == null) {
+ mismatchDescription.appendText("was Resource which does not expose
a value map via adaptTo");
+ return;
+ }
+ mismatchDescription.appendText("was Resource with properties
").appendValueList("[", ",", "]", actualProperties.entrySet()).appendText("
(resource: ").appendValue(item).appendText(")");
+ }
+
}
\ No newline at end of file