@ -1,5 +1,5 @@
@@ -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 .
@ -22,7 +22,6 @@ import java.util.Map;
@@ -22,7 +22,6 @@ import java.util.Map;
import java.util.Optional ;
import javax.servlet.http.Part ;
import org.junit.Before ;
import org.junit.Test ;
import org.springframework.beans.propertyeditors.StringTrimmerEditor ;
@ -53,7 +52,7 @@ import static org.mockito.BDDMockito.*;
@@ -53,7 +52,7 @@ import static org.mockito.BDDMockito.*;
import static org.springframework.web.method.MvcAnnotationPredicates.* ;
/ * *
* Test fixture with { @link org . springframework . web . method . annotation . RequestParamMethodArgumentResolver } .
* Test fixture with { @link RequestParamMethodArgumentResolver } .
*
* @author Arjen Poutsma
* @author Rossen Stoyanchev
@ -61,23 +60,15 @@ import static org.springframework.web.method.MvcAnnotationPredicates.*;
@@ -61,23 +60,15 @@ import static org.springframework.web.method.MvcAnnotationPredicates.*;
* /
public class RequestParamMethodArgumentResolverTests {
private RequestParamMethodArgumentResolver resolver ;
private RequestParamMethodArgumentResolver resolver = new RequestParamMethodArgumentResolver ( null , true ) ;
private NativeWebRequest webRequest ;
private MockHttpServletRequest request = new MockHttpServletRequest ( ) ;
private MockHttpServletRequest request ;
private NativeWebRequest webRequest = new ServletWebRequest ( request , new MockHttpServletResponse ( ) ) ;
private ResolvableMethod testMethod = ResolvableMethod . on ( getClass ( ) ) . named ( "handle" ) . build ( ) ;
@Before
public void setup ( ) throws Exception {
resolver = new RequestParamMethodArgumentResolver ( null , true ) ;
request = new MockHttpServletRequest ( ) ;
webRequest = new ServletWebRequest ( request , new MockHttpServletResponse ( ) ) ;
}
@Test
public void supportsParameter ( ) {
resolver = new RequestParamMethodArgumentResolver ( null , true ) ;
@ -385,7 +376,7 @@ public class RequestParamMethodArgumentResolverTests {
@@ -385,7 +376,7 @@ public class RequestParamMethodArgumentResolverTests {
WebDataBinderFactory binderFactory = mock ( WebDataBinderFactory . class ) ;
given ( binderFactory . createBinder ( webRequest , null , "stringNotAnnot" ) ) . willReturn ( binder ) ;
this . request . addParameter ( "stringNotAnnot" , "" ) ;
request . addParameter ( "stringNotAnnot" , "" ) ;
MethodParameter param = this . testMethod . annotNotPresent ( RequestParam . class ) . arg ( String . class ) ;
Object arg = resolver . resolveArgument ( param , null , webRequest , binderFactory ) ;
@ -400,7 +391,7 @@ public class RequestParamMethodArgumentResolverTests {
@@ -400,7 +391,7 @@ public class RequestParamMethodArgumentResolverTests {
WebDataBinderFactory binderFactory = mock ( WebDataBinderFactory . class ) ;
given ( binderFactory . createBinder ( webRequest , null , "name" ) ) . willReturn ( binder ) ;
this . request . addParameter ( "name" , "" ) ;
request . addParameter ( "name" , "" ) ;
MethodParameter param = this . testMethod . annot ( requestParam ( ) . notRequired ( ) ) . arg ( String . class ) ;
Object arg = resolver . resolveArgument ( param , null , webRequest , binderFactory ) ;
@ -426,7 +417,7 @@ public class RequestParamMethodArgumentResolverTests {
@@ -426,7 +417,7 @@ public class RequestParamMethodArgumentResolverTests {
@Test // SPR-10180
public void resolveEmptyValueToDefault ( ) throws Exception {
this . request . addParameter ( "name" , "" ) ;
request . addParameter ( "name" , "" ) ;
MethodParameter param = this . testMethod . annot ( requestParam ( ) . notRequired ( "bar" ) ) . arg ( String . class ) ;
Object result = resolver . resolveArgument ( param , null , webRequest , null ) ;
assertEquals ( "bar" , result ) ;
@ -434,7 +425,7 @@ public class RequestParamMethodArgumentResolverTests {
@@ -434,7 +425,7 @@ public class RequestParamMethodArgumentResolverTests {
@Test
public void resolveEmptyValueWithoutDefault ( ) throws Exception {
this . request . addParameter ( "stringNotAnnot" , "" ) ;
request . addParameter ( "stringNotAnnot" , "" ) ;
MethodParameter param = this . testMethod . annotNotPresent ( RequestParam . class ) . arg ( String . class ) ;
Object result = resolver . resolveArgument ( param , null , webRequest , null ) ;
assertEquals ( "" , result ) ;
@ -442,7 +433,7 @@ public class RequestParamMethodArgumentResolverTests {
@@ -442,7 +433,7 @@ public class RequestParamMethodArgumentResolverTests {
@Test
public void resolveEmptyValueRequiredWithoutDefault ( ) throws Exception {
this . request . addParameter ( "name" , "" ) ;
request . addParameter ( "name" , "" ) ;
MethodParameter param = this . testMethod . annot ( requestParam ( ) . notRequired ( ) ) . arg ( String . class ) ;
Object result = resolver . resolveArgument ( param , null , webRequest , null ) ;
assertEquals ( "" , result ) ;
@ -459,7 +450,7 @@ public class RequestParamMethodArgumentResolverTests {
@@ -459,7 +450,7 @@ public class RequestParamMethodArgumentResolverTests {
Object result = resolver . resolveArgument ( param , null , webRequest , binderFactory ) ;
assertEquals ( Optional . empty ( ) , result ) ;
this . request . addParameter ( "name" , "123" ) ;
request . addParameter ( "name" , "123" ) ;
result = resolver . resolveArgument ( param , null , webRequest , binderFactory ) ;
assertEquals ( Optional . class , result . getClass ( ) ) ;
assertEquals ( 123 , ( ( Optional ) result ) . get ( ) ) ;
@ -492,7 +483,7 @@ public class RequestParamMethodArgumentResolverTests {
@@ -492,7 +483,7 @@ public class RequestParamMethodArgumentResolverTests {
Object result = resolver . resolveArgument ( param , null , webRequest , binderFactory ) ;
assertEquals ( Optional . empty ( ) , result ) ;
this . request . addParameter ( "name" , "123" , "456" ) ;
request . addParameter ( "name" , "123" , "456" ) ;
result = resolver . resolveArgument ( param , null , webRequest , binderFactory ) ;
assertEquals ( Optional . class , result . getClass ( ) ) ;
assertArrayEquals ( new Integer [ ] { 123 , 456 } , ( Integer [ ] ) ( ( Optional ) result ) . get ( ) ) ;
@ -525,7 +516,7 @@ public class RequestParamMethodArgumentResolverTests {
@@ -525,7 +516,7 @@ public class RequestParamMethodArgumentResolverTests {
Object result = resolver . resolveArgument ( param , null , webRequest , binderFactory ) ;
assertEquals ( Optional . empty ( ) , result ) ;
this . request . addParameter ( "name" , "123" , "456" ) ;
request . addParameter ( "name" , "123" , "456" ) ;
result = resolver . resolveArgument ( param , null , webRequest , binderFactory ) ;
assertEquals ( Optional . class , result . getClass ( ) ) ;
assertEquals ( Arrays . asList ( "123" , "456" ) , ( ( Optional ) result ) . get ( ) ) ;