diff --git a/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java b/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java index bb32e873bc..33ec3e29c9 100644 --- a/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java +++ b/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java @@ -36,6 +36,7 @@ import java.util.Map.Entry; import java.util.TimeZone; import org.hamcrest.Matchers; +import org.junit.Ignore; import org.junit.Test; import static org.hamcrest.Matchers.*; @@ -559,6 +560,36 @@ public class HttpHeadersTests { assertEquals("Bearer foo", authorization); } + @Test + @Ignore("Disabled until gh-22821 is resolved") + public void removalFromKeySetRemovesEntryFromUnderlyingMap() { + String headerName = "MyHeader"; + String headerValue = "value"; + + assertTrue(headers.isEmpty()); + headers.add(headerName, headerValue); + assertTrue(headers.containsKey(headerName)); + headers.keySet().removeIf(key -> key.equals(headerName)); + assertTrue(headers.isEmpty()); + headers.add(headerName, headerValue); + assertEquals(headerValue, headers.get(headerName)); + } + + @Test + @Ignore("Disabled until gh-22821 is resolved") + public void removalFromEntrySetRemovesEntryFromUnderlyingMap() { + String headerName = "MyHeader"; + String headerValue = "value"; + + assertTrue(headers.isEmpty()); + headers.add(headerName, headerValue); + assertTrue(headers.containsKey(headerName)); + headers.entrySet().removeIf(entry -> entry.getKey().equals(headerName)); + assertTrue(headers.isEmpty()); + headers.add(headerName, headerValue); + assertEquals(headerValue, headers.get(headerName)); + } + @Test public void readOnlyHttpHeadersRetainEntrySetOrder() { headers.add("aardvark", "enigma");