Browse Source

Fix exception mock request builder

Issue: SPR-11043
pull/403/merge
Rossen Stoyanchev 12 years ago
parent
commit
0eeb6717e0
  1. 5
      spring-test-mvc/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java
  2. 13
      spring-test-mvc/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java

5
spring-test-mvc/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java

@ -593,9 +593,8 @@ public class MockHttpServletRequestBuilder implements RequestBuilder, Mergeable @@ -593,9 +593,8 @@ public class MockHttpServletRequestBuilder implements RequestBuilder, Mergeable
for (Entry<String, List<String>> entry : this.uriComponents.getQueryParams().entrySet()) {
for (String value : entry.getValue()) {
request.addParameter(
UriUtils.decode(entry.getKey(), "UTF-8"),
UriUtils.decode(value, "UTF-8"));
value = (value != null) ? UriUtils.decode(value, "UTF-8") : null;
request.addParameter(UriUtils.decode(entry.getKey(), "UTF-8"), value);
}
}
}

13
spring-test-mvc/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java

@ -228,6 +228,19 @@ public class MockHttpServletRequestBuilderTests { @@ -228,6 +228,19 @@ public class MockHttpServletRequestBuilderTests {
assertEquals("bar=baz", request.getParameter("foo"));
}
// SPR-11043
@Test
public void requestParameterFromQueryNull() throws Exception {
this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/?foo");
MockHttpServletRequest request = this.builder.buildRequest(this.servletContext);
Map<String, String[]> parameterMap = request.getParameterMap();
assertArrayEquals(new String[]{null}, parameterMap.get("foo"));
assertEquals("foo", request.getQueryString());
}
@Test
public void acceptHeader() throws Exception {
this.builder.accept(MediaType.TEXT_HTML, MediaType.APPLICATION_XML);

Loading…
Cancel
Save