@ -50,7 +50,7 @@ import org.springframework.web.method.HandlerMethod;
@@ -50,7 +50,7 @@ import org.springframework.web.method.HandlerMethod;
import org.springframework.web.reactive.BindingContext ;
import org.springframework.web.reactive.HandlerMapping ;
import org.springframework.web.reactive.HandlerResult ;
import org.springframework.web.reactive.result.method.RequestMappingInfo.BuilderConfiguration ;
import org.springframework.web.reactive.result.method.RequestMappingInfo.* ;
import org.springframework.web.server.MethodNotAllowedException ;
import org.springframework.web.server.NotAcceptableStatusException ;
import org.springframework.web.server.ServerWebExchange ;
@ -58,25 +58,14 @@ import org.springframework.web.server.ServerWebInputException;
@@ -58,25 +58,14 @@ import org.springframework.web.server.ServerWebInputException;
import org.springframework.web.server.UnsupportedMediaTypeStatusException ;
import org.springframework.web.util.pattern.PathPattern ;
import static org.hamcrest.CoreMatchers.containsString ;
import static org.junit.Assert.assertEquals ;
import static org.junit.Assert.assertNotNull ;
import static org.junit.Assert.assertNull ;
import static org.junit.Assert.assertSame ;
import static org.junit.Assert.assertThat ;
import static org.springframework.mock.http.server.reactive.test.MockServerHttpRequest.get ;
import static org.springframework.mock.http.server.reactive.test.MockServerHttpRequest.method ;
import static org.springframework.mock.http.server.reactive.test.MockServerHttpRequest.post ;
import static org.springframework.mock.http.server.reactive.test.MockServerHttpRequest.put ;
import static org.springframework.web.bind.annotation.RequestMethod.GET ;
import static org.springframework.web.bind.annotation.RequestMethod.HEAD ;
import static org.springframework.web.bind.annotation.RequestMethod.OPTIONS ;
import static org.springframework.web.method.MvcAnnotationPredicates.getMapping ;
import static org.springframework.web.method.MvcAnnotationPredicates.requestMapping ;
import static org.springframework.web.method.ResolvableMethod.on ;
import static org.springframework.web.reactive.HandlerMapping.BEST_MATCHING_HANDLER_ATTRIBUTE ;
import static org.springframework.web.reactive.HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE ;
import static org.springframework.web.reactive.result.method.RequestMappingInfo.paths ;
import static org.hamcrest.CoreMatchers.* ;
import static org.junit.Assert.* ;
import static org.springframework.mock.http.server.reactive.test.MockServerHttpRequest.* ;
import static org.springframework.web.bind.annotation.RequestMethod.* ;
import static org.springframework.web.method.MvcAnnotationPredicates.* ;
import static org.springframework.web.method.ResolvableMethod.* ;
import static org.springframework.web.reactive.HandlerMapping.* ;
import static org.springframework.web.reactive.result.method.RequestMappingInfo.* ;
/ * *
* Unit tests for { @link RequestMappingInfoHandlerMapping } .
@ -287,6 +276,18 @@ public class RequestMappingInfoHandlerMappingTests {
@@ -287,6 +276,18 @@ public class RequestMappingInfoHandlerMappingTests {
assertEquals ( Arrays . asList ( "red" , "blue" , "green" ) , matrixVariables . get ( "colors" ) ) ;
assertEquals ( "2012" , matrixVariables . getFirst ( "year" ) ) ;
assertEquals ( "cars" , uriVariables . get ( "cars" ) ) ;
// SPR-11897
exchange = MockServerWebExchange . from ( get ( "/a=42;b=c" ) ) ;
handleMatch ( exchange , "/{foo}" ) ;
matrixVariables = getMatrixVariables ( exchange , "foo" ) ;
uriVariables = getUriTemplateVariables ( exchange ) ;
assertNotNull ( matrixVariables ) ;
assertEquals ( 1 , matrixVariables . size ( ) ) ;
assertEquals ( "c" , matrixVariables . getFirst ( "b" ) ) ;
assertEquals ( "a=42" , uriVariables . get ( "foo" ) ) ;
}
@Test