diff options
author | Emmanuel Bourg <ebourg@apache.org> | 2017-07-04 11:41:53 +0200 |
---|---|---|
committer | Emmanuel Bourg <ebourg@apache.org> | 2017-07-04 11:41:53 +0200 |
commit | 16cac1f52d8e8159e0e688b2fda3f89291cec969 (patch) | |
tree | 027fd3c0b671bf73a45f27af2a16881c4098f7e7 /spring-webmvc/src/test | |
parent | 5b251f9ca7596793d669a9a36eb0d83ccd56f983 (diff) |
New upstream version 4.3.9
Diffstat (limited to 'spring-webmvc/src/test')
-rw-r--r-- | spring-webmvc/src/test/java/org/springframework/web/servlet/support/FlashMapManagerTests.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/support/FlashMapManagerTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/support/FlashMapManagerTests.java index 333a093b..b0bac531 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/support/FlashMapManagerTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/support/FlashMapManagerTests.java @@ -21,6 +21,7 @@ import static org.junit.Assert.*; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -318,6 +319,25 @@ public class FlashMapManagerTests { assertEquals("value", flashMap.get("key")); } + @Test // SPR-15505 + public void retrieveAndUpdateMatchByOriginatingPathAndQueryString() { + FlashMap flashMap = new FlashMap(); + flashMap.put("key", "value"); + flashMap.setTargetRequestPath("/accounts"); + flashMap.addTargetRequestParam("a", "b"); + + this.flashMapManager.setFlashMaps(Collections.singletonList(flashMap)); + + this.request.setAttribute(WebUtils.FORWARD_REQUEST_URI_ATTRIBUTE, "/accounts"); + this.request.setAttribute(WebUtils.FORWARD_QUERY_STRING_ATTRIBUTE, "a=b"); + this.request.setRequestURI("/mvc/accounts"); + this.request.setQueryString("x=y"); + FlashMap inputFlashMap = this.flashMapManager.retrieveAndUpdate(this.request, this.response); + + assertEquals(flashMap, inputFlashMap); + assertEquals("Input FlashMap should have been removed", 0, this.flashMapManager.getFlashMaps().size()); + } + private static class TestFlashMapManager extends AbstractFlashMapManager { |