Merge branch '2.0.x'

pull/13358/head
Andy Wilkinson 7 years ago
commit 92629ac5af

@ -77,8 +77,9 @@ public final class WebMvcTags {
/**
* Creates a {@code uri} tag based on the URI of the given {@code request}. Uses the
* {@link HandlerMapping#BEST_MATCHING_PATTERN_ATTRIBUTE} best matching pattern if
* available, falling back to the request's {@link HttpServletRequest#getPathInfo()
* path info} if necessary.
* available. Falling back to {@code REDIRECTION} for 3xx responses, {@code NOT_FOUND}
* for 404 responses, {@code root} for requests with no path info, and {@code UNKNOWN}
* for all other requests.
* @param request the request
* @param response the response
* @return the uri tag derived from the request
@ -102,7 +103,6 @@ public final class WebMvcTags {
if (pathInfo.isEmpty()) {
return URI_ROOT;
}
return Tag.of("uri", pathInfo);
}
return URI_UNKNOWN;
}

@ -38,12 +38,6 @@ public class WebMvcTagsTests {
private final MockHttpServletResponse response = new MockHttpServletResponse();
@Test
public void uriTrailingSlashesAreSuppressed() {
this.request.setPathInfo("//spring/");
assertThat(WebMvcTags.uri(this.request, null).getValue()).isEqualTo("/spring");
}
@Test
public void uriTagValueIsBestMatchingPatternWhenAvailable() {
this.request.setAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE,
@ -53,6 +47,23 @@ public class WebMvcTagsTests {
assertThat(tag.getValue()).isEqualTo("/spring");
}
@Test
public void uriTagValueIsRootWhenRequestHasNoPatternOrPathInfo() {
assertThat(WebMvcTags.uri(this.request, null).getValue()).isEqualTo("root");
}
@Test
public void uriTagValueIsRootWhenRequestHasNoPatternAndSlashPathInfo() {
this.request.setPathInfo("/");
assertThat(WebMvcTags.uri(this.request, null).getValue()).isEqualTo("root");
}
@Test
public void uriTagValueIsUnknownWhenRequestHasNoPatternAndNonRootPathInfo() {
this.request.setPathInfo("/example");
assertThat(WebMvcTags.uri(this.request, null).getValue()).isEqualTo("UNKNOWN");
}
@Test
public void uriTagValueIsRedirectionWhenResponseStatusIs3xx() {
this.response.setStatus(301);

Loading…
Cancel
Save