Merge pull request #18721 from coehgns/main

Add tests for PathPatternRequestMatcher request path caching
This commit is contained in:
Rob Winch 2026-02-23 11:58:27 -06:00 committed by GitHub
commit 4d0627e6c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -154,6 +154,25 @@ public class PathPatternRequestMatcherTests {
assertThat(matcher.matches(mock)).isFalse();
}
@Test
void matcherWhenRequestPathNotParsedThenDoesNotLeaveParsedRequestPath() {
RequestMatcher matcher = pathPattern("/uri");
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/uri");
assertThat(ServletRequestPathUtils.hasParsedRequestPath(request)).isFalse();
assertThat(matcher.matches(request)).isTrue();
assertThat(ServletRequestPathUtils.hasParsedRequestPath(request)).isFalse();
}
@Test
void matcherWhenRequestPathAlreadyParsedThenLeavesParsedRequestPath() {
RequestMatcher matcher = pathPattern("/uri");
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/uri");
ServletRequestPathUtils.parseAndCache(request);
assertThat(ServletRequestPathUtils.hasParsedRequestPath(request)).isTrue();
assertThat(matcher.matches(request)).isTrue();
assertThat(ServletRequestPathUtils.hasParsedRequestPath(request)).isTrue();
}
MockHttpServletRequest request(String uri) {
MockHttpServletRequest request = new MockHttpServletRequest("GET", uri);
ServletRequestPathUtils.parseAndCache(request);