From 53e8ebe6a66e71f2565c496861a0baa0db80359e Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Thu, 15 Jun 2017 11:07:39 -0400 Subject: [PATCH] Fix failing test (after previous commit) --- .../http/server/reactive/DefaultPathSegmentContainer.java | 4 ++++ .../http/server/reactive/DefaultRequestPathTests.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/DefaultPathSegmentContainer.java b/spring-web/src/main/java/org/springframework/http/server/reactive/DefaultPathSegmentContainer.java index b539217518..7be860a663 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/DefaultPathSegmentContainer.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/DefaultPathSegmentContainer.java @@ -190,10 +190,14 @@ class DefaultPathSegmentContainer implements PathSegmentContainer { } static PathSegmentContainer subPath(PathSegmentContainer container, int fromIndex, int toIndex) { + if (fromIndex == toIndex) { + return EMPTY_PATH; + } List segments = container.pathSegments(); if (fromIndex == 0 && toIndex == segments.size()) { return container; } + Assert.isTrue(fromIndex < toIndex, "fromIndex: " + fromIndex + " should be < toIndex " + toIndex); Assert.isTrue(fromIndex >= 0 && fromIndex < segments.size(), "Invalid fromIndex: " + fromIndex); Assert.isTrue(toIndex >= 0 && toIndex <= segments.size(), "Invalid toIndex: " + toIndex); diff --git a/spring-web/src/test/java/org/springframework/http/server/reactive/DefaultRequestPathTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/DefaultRequestPathTests.java index d478095717..1e9219bc19 100644 --- a/spring-web/src/test/java/org/springframework/http/server/reactive/DefaultRequestPathTests.java +++ b/spring-web/src/test/java/org/springframework/http/server/reactive/DefaultRequestPathTests.java @@ -36,6 +36,9 @@ public class DefaultRequestPathTests { // no context path testRequestPath("/a/b/c", "", "/a/b/c", false, true, false); + // context path only + testRequestPath("/a/b", "/a/b", "", false, true, false); + // empty path testRequestPath("", "", "", true, false, false); testRequestPath("", "/", "", true, false, false);