mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Merge branch '7.0.x'
This commit is contained in:
+32
-16
@@ -33,30 +33,47 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
class ServletRequestParameterPropertyValuesTests {
|
||||
|
||||
private final MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
|
||||
|
||||
@Test
|
||||
void noParameters() {
|
||||
var pvs = new ServletRequestParameterPropertyValues(request);
|
||||
assertThat(pvs.getPropertyValues()).as("Found no parameters").isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
void multipleValuesForParameter() {
|
||||
String[] original = new String[] {"Tony", "Rod"};
|
||||
request.addParameter("forname", original);
|
||||
|
||||
var pvs = new ServletRequestParameterPropertyValues(request);
|
||||
assertThat(pvs.getPropertyValues().length).as("Found 1 parameter").isEqualTo(1);
|
||||
assertThat(pvs.getPropertyValue("forname").getValue()).as("Found array value").isInstanceOf(String[].class);
|
||||
String[] values = (String[]) pvs.getPropertyValue("forname").getValue();
|
||||
assertThat(original).containsExactly(values);
|
||||
}
|
||||
|
||||
@Test
|
||||
void noPrefix() {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("forname", "Tony");
|
||||
request.addParameter("surname", "Blair");
|
||||
request.addParameter("age", "" + 50);
|
||||
|
||||
ServletRequestParameterPropertyValues pvs = new ServletRequestParameterPropertyValues(request);
|
||||
testTony(pvs);
|
||||
testTony(new ServletRequestParameterPropertyValues(request));
|
||||
}
|
||||
|
||||
@Test
|
||||
void prefix() {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("test_forname", "Tony");
|
||||
request.addParameter("test_surname", "Blair");
|
||||
request.addParameter("test_age", "" + 50);
|
||||
|
||||
ServletRequestParameterPropertyValues pvs = new ServletRequestParameterPropertyValues(request);
|
||||
var pvs = new ServletRequestParameterPropertyValues(request);
|
||||
assertThat(pvs.contains("forname")).as("Didn't find normal when given prefix").isFalse();
|
||||
assertThat(pvs.contains("test_forname")).as("Did treat prefix as normal when not given prefix").isTrue();
|
||||
|
||||
pvs = new ServletRequestParameterPropertyValues(request, "test");
|
||||
testTony(pvs);
|
||||
testTony(new ServletRequestParameterPropertyValues(request, "test"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -69,19 +86,18 @@ class ServletRequestParameterPropertyValuesTests {
|
||||
assertThat(pvs.contains("age")).as("Contains age").isTrue();
|
||||
assertThat(pvs.contains("tory")).as("Doesn't contain tory").isFalse();
|
||||
|
||||
PropertyValue[] pvArray = pvs.getPropertyValues();
|
||||
Map<String, String> m = new HashMap<>();
|
||||
m.put("forname", "Tony");
|
||||
m.put("surname", "Blair");
|
||||
m.put("age", "50");
|
||||
for (PropertyValue pv : pvArray) {
|
||||
Object val = m.get(pv.getName());
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("forname", "Tony");
|
||||
map.put("surname", "Blair");
|
||||
map.put("age", "50");
|
||||
for (PropertyValue pv : pvs.getPropertyValues()) {
|
||||
Object val = map.get(pv.getName());
|
||||
assertThat(val).as("Can't have unexpected value").isNotNull();
|
||||
assertThat(val).as("Val is string").isInstanceOf(String.class);
|
||||
assertThat(val).as("val matches expected").isEqualTo(pv.getValue());
|
||||
m.remove(pv.getName());
|
||||
map.remove(pv.getName());
|
||||
}
|
||||
assertThat(m.size()).as("Map size is 0").isEqualTo(0);
|
||||
assertThat(map).isEmpty();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-22
@@ -17,7 +17,6 @@
|
||||
package org.springframework.web.bind.support;
|
||||
|
||||
import java.beans.PropertyEditorSupport;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -31,7 +30,6 @@ import org.junit.jupiter.params.provider.ValueSource;
|
||||
|
||||
import org.springframework.beans.testfixture.beans.ITestBean;
|
||||
import org.springframework.beans.testfixture.beans.TestBean;
|
||||
import org.springframework.web.bind.ServletRequestParameterPropertyValues;
|
||||
import org.springframework.web.context.request.ServletWebRequest;
|
||||
import org.springframework.web.multipart.support.StringMultipartFileEditor;
|
||||
import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
|
||||
@@ -305,26 +303,6 @@ class WebRequestDataBinderTests {
|
||||
assertThat(target.getStringArray()[1]).isEqualTo("Eva");
|
||||
}
|
||||
|
||||
@Test
|
||||
void noParameters() {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
ServletRequestParameterPropertyValues pvs = new ServletRequestParameterPropertyValues(request);
|
||||
assertThat(pvs.getPropertyValues().length).as("Found no parameters").isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void multipleValuesForParameter() {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
String[] original = new String[] {"Tony", "Rod"};
|
||||
request.addParameter("forname", original);
|
||||
|
||||
ServletRequestParameterPropertyValues pvs = new ServletRequestParameterPropertyValues(request);
|
||||
assertThat(pvs.getPropertyValues().length).as("Found 1 parameter").isEqualTo(1);
|
||||
assertThat(pvs.getPropertyValue("forname").getValue()).as("Found array value").isInstanceOf(String[].class);
|
||||
String[] values = (String[]) pvs.getPropertyValue("forname").getValue();
|
||||
assertThat(Arrays.asList(original)).as("Correct values").isEqualTo(Arrays.asList(values));
|
||||
}
|
||||
|
||||
|
||||
@ParameterizedClass // gh-36625
|
||||
@ValueSource(strings = { DEFAULT_FIELD_DEFAULT_PREFIX, DEFAULT_FIELD_MARKER_PREFIX })
|
||||
|
||||
Reference in New Issue
Block a user