Fix '**' parsing within a PathPattern segment

Prior to this commit, a regexp path segment ending with a double wilcard
(like "/path**") would be incorrectly parsed as a double wildcard
segment ("/**").

This commit fixes the incorrect parsing.

Fixes gh-35339
This commit is contained in:
Brian Clozel
2025-08-18 10:44:15 +02:00
parent a999dd13f5
commit 0d2a0d7b9e
2 changed files with 16 additions and 3 deletions
@@ -85,9 +85,14 @@ class PathPatternParserTests {
@Test
void regexpSegmentIsNotWildcardSegment() {
// this is not double wildcard, it's / then **acb (an odd, unnecessary use of double *)
pathPattern = checkStructure("/**acb");
assertPathElements(pathPattern, SeparatorPathElement.class, RegexPathElement.class);
pathPattern = checkStructure("/a**bc");
assertPathElements(pathPattern, SeparatorPathElement.class, RegexPathElement.class);
pathPattern = checkStructure("/abc**");
assertPathElements(pathPattern, SeparatorPathElement.class, RegexPathElement.class);
}
@Test