From f20eacdb9be2a9504bba09812e7ee5c9b788f7a9 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Fri, 2 Feb 2018 15:06:59 -0500 Subject: [PATCH] Polish --- .../MockHttpServletRequestBuilder.java | 23 +++++++++++-------- .../MockHttpServletRequestBuilderTests.java | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java b/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java index 5b3255e1c02..a8adb2f6145 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -62,14 +62,15 @@ import org.springframework.web.util.UriUtils; import org.springframework.web.util.UrlPathHelper; /** - * Default builder for {@link MockHttpServletRequest} required as input to perform - * requests in {@link MockMvc}. + * Default builder for {@link MockHttpServletRequest} required as input to + * perform requests in {@link MockMvc}. * - *

Application tests will typically access this builder through the static factory - * methods in {@link MockMvcRequestBuilders}. + *

Application tests will typically access this builder through the static + * factory methods in {@link MockMvcRequestBuilders}. * - *

Although this class cannot be extended, additional ways to initialize the - * {@code MockHttpServletRequest} can be plugged in via {@link #with(RequestPostProcessor)}. + *

This class is not open for extension. To apply custom initialization to + * the created {@code MockHttpServletRequest}, please use the + * {@link #with(RequestPostProcessor)} extension point. * * @author Rossen Stoyanchev * @author Juergen Hoeller @@ -81,7 +82,8 @@ import org.springframework.web.util.UrlPathHelper; public class MockHttpServletRequestBuilder implements ConfigurableSmartRequestBuilder, Mergeable { - private final UrlPathHelper urlPathHelper = new UrlPathHelper(); + private static final UrlPathHelper urlPathHelper = new UrlPathHelper(); + private final String method; @@ -699,7 +701,8 @@ public class MockHttpServletRequestBuilder "Invalid servlet path [" + this.servletPath + "] for request URI [" + requestUri + "]"); } String extraPath = requestUri.substring(this.contextPath.length() + this.servletPath.length()); - this.pathInfo = (StringUtils.hasText(extraPath) ? this.urlPathHelper.decodeRequestString(request, extraPath) : null); + this.pathInfo = (StringUtils.hasText(extraPath) ? + urlPathHelper.decodeRequestString(request, extraPath) : null); } request.setPathInfo(this.pathInfo); } @@ -714,7 +717,7 @@ public class MockHttpServletRequestBuilder private MultiValueMap parseFormData(final MediaType mediaType) { HttpInputMessage message = new HttpInputMessage() { @Override - public InputStream getBody() throws IOException { + public InputStream getBody() { return (content != null ? new ByteArrayInputStream(content) : StreamUtils.emptyInput()); } @Override diff --git a/spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java b/spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java index 65b2ee7cde5..ad9ba0a2292 100644 --- a/spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java @@ -164,7 +164,7 @@ public class MockHttpServletRequestBuilderTests { assertNull(request.getPathInfo()); } - @Test + @Test // SPR-16453 public void pathInfoIsDecoded() { this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, "/travel/hotels 42"); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext);