mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Add missing tests for WebRequestDataBinder
See gh-36625
(cherry picked from commit 63817ce202)
This commit is contained in:
+39
-3
@@ -344,6 +344,41 @@ 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();
|
||||
@@ -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);
|
||||
binder.setDisallowedFields("someMap[key1]");
|
||||
binder.setDisallowedFields(disallowedField);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("name", "spring");
|
||||
|
||||
Reference in New Issue
Block a user