Description
The following code in the method MockHttpServletRequest.buildRequest() iterates over all values of a parameter. When writing the value to the outputstream it doesn't use the iteration variable, but instead retrieves the value with "post.getParameterValue(parameterName)" which always returns the first element of the list.
List<StringValue> values = post.getParameterValues(parameterName); for (StringValue value : values) { newAttachment(out); out.write("; name=\"".getBytes()); out.write(parameterName.getBytes()); out.write("\"".getBytes()); out.write(crlf.getBytes()); out.write(crlf.getBytes()); out.write(post.getParameterValue(parameterName).toString().getBytes()); out.write(crlf.getBytes()); }
So for a given list of values "3", "2" and "1", it actually writes "3", "3" and "3".