diff --git a/spring-test-mvc/src/main/java/org/springframework/test/web/servlet/result/JsonPathResultMatchers.java b/spring-test-mvc/src/main/java/org/springframework/test/web/servlet/result/JsonPathResultMatchers.java index 81b8c1b6650..c140263534e 100644 --- a/spring-test-mvc/src/main/java/org/springframework/test/web/servlet/result/JsonPathResultMatchers.java +++ b/spring-test-mvc/src/main/java/org/springframework/test/web/servlet/result/JsonPathResultMatchers.java @@ -16,11 +16,6 @@ package org.springframework.test.web.servlet.result; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.instanceOf; - -import java.util.List; - import org.hamcrest.Matcher; import org.springframework.test.util.JsonPathExpectationsHelper; import org.springframework.test.web.servlet.MvcResult; @@ -64,8 +59,12 @@ public class JsonPathResultMatchers { /** * Evaluate the JSONPath and assert the value of the content found. */ - public ResultMatcher value(Object value) { - return value(equalTo(value)); + public ResultMatcher value(final Object expectedValue) { + return new ResultMatcher() { + public void match(MvcResult result) throws Exception { + jsonPathHelper.assertValue(result.getResponse().getContentAsString(), expectedValue); + } + }; } /** @@ -96,6 +95,11 @@ public class JsonPathResultMatchers { * Evluate the JSON path and assert the content found is an array. */ public ResultMatcher isArray() { - return value(instanceOf(List.class)); + return new ResultMatcher() { + public void match(MvcResult result) throws Exception { + String content = result.getResponse().getContentAsString(); + jsonPathHelper.assertValueIsArray(content); + } + }; } } diff --git a/spring-test-mvc/src/main/java/org/springframework/test/web/servlet/result/RequestResultMatchers.java b/spring-test-mvc/src/main/java/org/springframework/test/web/servlet/result/RequestResultMatchers.java index 00c599234be..9a236a4549c 100644 --- a/spring-test-mvc/src/main/java/org/springframework/test/web/servlet/result/RequestResultMatchers.java +++ b/spring-test-mvc/src/main/java/org/springframework/test/web/servlet/result/RequestResultMatchers.java @@ -16,7 +16,6 @@ package org.springframework.test.web.servlet.result; -import static org.hamcrest.Matchers.equalTo; import static org.springframework.test.util.AssertionErrors.assertEquals; import static org.springframework.test.util.MatcherAssertionErrors.assertThat; @@ -62,7 +61,7 @@ public class RequestResultMatchers { return new ResultMatcher() { public void match(MvcResult result) { HttpServletRequest request = result.getRequest(); - assertThat("Async started", request.isAsyncStarted(), equalTo(true)); + assertEquals("Async started", true, request.isAsyncStarted()); } }; } @@ -75,7 +74,7 @@ public class RequestResultMatchers { return new ResultMatcher() { public void match(MvcResult result) { HttpServletRequest request = result.getRequest(); - assertThat("Async started", request.isAsyncStarted(), equalTo(false)); + assertEquals("Async started", false, request.isAsyncStarted()); } }; } @@ -88,7 +87,7 @@ public class RequestResultMatchers { @SuppressWarnings("unchecked") public void match(MvcResult result) { HttpServletRequest request = result.getRequest(); - assertThat("Async started", request.isAsyncStarted(), equalTo(true)); + assertEquals("Async started", true, request.isAsyncStarted()); assertThat("Async result", (T) result.getAsyncResult(), matcher); } }; @@ -100,8 +99,14 @@ public class RequestResultMatchers { * or {@link MvcAsyncTask}. The value matched is the value returned from the * {@code Callable} or the exception raised. */ - public ResultMatcher asyncResult(Object expectedResult) { - return asyncResult(equalTo(expectedResult)); + public ResultMatcher asyncResult(final Object expectedResult) { + return new ResultMatcher() { + public void match(MvcResult result) { + HttpServletRequest request = result.getRequest(); + assertEquals("Async started", true, request.isAsyncStarted()); + assertEquals("Async result", expectedResult, result.getAsyncResult()); + } + }; } /**