Skip to content

Commit

Permalink
Compare suffix patterns by length
Browse files Browse the repository at this point in the history
Closes gh-23125
  • Loading branch information
rstoyanchev committed Jul 5, 2019
1 parent 157df86 commit 0d3e5db
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
Expand Up @@ -776,7 +776,10 @@ else if (pattern2EqualsPath) {
return 1;
}

if (info1.isPrefixPattern() && info2.getDoubleWildcards() == 0) {
if (info1.isPrefixPattern() && info2.isPrefixPattern()) {
return info2.getLength() - info1.getLength();
}
else if (info1.isPrefixPattern() && info2.getDoubleWildcards() == 0) {
return 1;
}
else if (info2.isPrefixPattern() && info1.getDoubleWildcards() == 0) {
Expand Down
Expand Up @@ -481,8 +481,9 @@ public void patternComparator() {
assertThat(comparator.compare("/hotels/**", "/hotels/{hotel}/bookings/{booking}/cutomers/{customer}")).isEqualTo(1);
assertThat(comparator.compare("/hotels/foo/bar/**", "/hotels/{hotel}")).isEqualTo(1);
assertThat(comparator.compare("/hotels/{hotel}", "/hotels/foo/bar/**")).isEqualTo(-1);
assertThat(comparator.compare("/hotels/**/bookings/**", "/hotels/**")).isEqualTo(2);
assertThat(comparator.compare("/hotels/**", "/hotels/**/bookings/**")).isEqualTo(-2);

// gh-23125
assertThat(comparator.compare("/hotels/*/bookings/**", "/hotels/**")).isEqualTo(-11);

// SPR-8683
assertThat(comparator.compare("/**", "/hotels/{hotel}")).isEqualTo(1);
Expand Down

0 comments on commit 0d3e5db

Please sign in to comment.