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:
+45
-9
@@ -53,7 +53,7 @@ class WebRequestDataBinderTests {
|
||||
void bindingWithNestedObjectCreation() {
|
||||
TestBean tb = new TestBean();
|
||||
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb, "person");
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb);
|
||||
binder.registerCustomEditor(ITestBean.class, new PropertyEditorSupport() {
|
||||
@Override
|
||||
public void setAsText(String text) throws IllegalArgumentException {
|
||||
@@ -74,7 +74,7 @@ class WebRequestDataBinderTests {
|
||||
void bindingWithNestedObjectCreationThroughAutoGrow() {
|
||||
TestBean tb = new TestBeanWithConcreteSpouse();
|
||||
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb, "person");
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb);
|
||||
binder.setIgnoreUnknownFields(false);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
@@ -316,7 +316,7 @@ class WebRequestDataBinderTests {
|
||||
void shouldNotTriggerBindingWhenFieldIsNotAllowed() {
|
||||
TestBean tb = new TestBean();
|
||||
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb, "person");
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb);
|
||||
binder.setAllowedFields("name");
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
@@ -332,7 +332,7 @@ class WebRequestDataBinderTests {
|
||||
void shouldNotTriggerBindingWhenFieldIsDisallowed() {
|
||||
TestBean tb = new TestBean();
|
||||
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb, "person");
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb);
|
||||
binder.setDisallowedFields("country");
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
@@ -344,12 +344,47 @@ class WebRequestDataBinderTests {
|
||||
assertThat(tb.getCountry()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldNotTriggerBindingWhenFieldIsNotAllowedWithEmptyArrayIndex() {
|
||||
TestBean tb = new TestBean();
|
||||
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb);
|
||||
binder.setAllowedFields("name");
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("name", "spring");
|
||||
request.addParameter(prefix + "stringArray[]", "ONE");
|
||||
request.addParameter(prefix + "stringArray[]", "TWO");
|
||||
binder.bind(new ServletWebRequest(request));
|
||||
|
||||
assertThat(tb.getName()).isEqualTo("spring");
|
||||
assertThat(tb.getStringArray()).isNull();
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(strings = { "stringArray*", "stringArray[]" })
|
||||
void shouldNotTriggerBindingWhenFieldIsDisallowedWithEmptyArrayIndex(String disallowedField) {
|
||||
TestBean tb = new TestBean();
|
||||
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb);
|
||||
binder.setDisallowedFields(disallowedField);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("name", "spring");
|
||||
request.addParameter(prefix + "stringArray[]", "ONE");
|
||||
request.addParameter(prefix + "stringArray[]", "TWO");
|
||||
binder.bind(new ServletWebRequest(request));
|
||||
|
||||
assertThat(tb.getName()).isEqualTo("spring");
|
||||
assertThat(tb.getStringArray()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldNotTriggerAutoGrowWhenFieldIsNotAllowed() {
|
||||
TestBean tb = new TestBean();
|
||||
tb.setSomeMap(null);
|
||||
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb, "person");
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb);
|
||||
binder.setAllowedFields("name");
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
@@ -361,13 +396,14 @@ class WebRequestDataBinderTests {
|
||||
assertThat(tb.getSomeMap()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldNotTriggerAutoGrowWhenFieldIsDisallowed() {
|
||||
@ParameterizedTest
|
||||
@ValueSource(strings = { "someMap*", "someMap[*]", "someMap[key1]" })
|
||||
void shouldNotTriggerAutoGrowWhenFieldIsDisallowed(String disallowedField) {
|
||||
TestBean tb = new TestBean();
|
||||
tb.setSomeMap(null);
|
||||
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb, "person");
|
||||
binder.setDisallowedFields("someMap[key1]");
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(tb);
|
||||
binder.setDisallowedFields(disallowedField);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("name", "spring");
|
||||
|
||||
Reference in New Issue
Block a user