Fix LinkedCaseInsensitiveMap entrySet case-insensitivity

See gh-36056

Signed-off-by: Terry Tao <yueyang.tao@gmail.com>
This commit is contained in:
Terry Tao
2025-12-23 15:33:14 +01:00
committed by Brian Clozel
parent 012fb29097
commit 26e0f550b0
2 changed files with 43 additions and 6 deletions
@@ -17,6 +17,7 @@
package org.springframework.util;
import java.util.Iterator;
import java.util.Map;
import org.junit.jupiter.api.Test;
@@ -218,6 +219,21 @@ class LinkedCaseInsensitiveMapTests {
assertThat(map.get("key")).isEqualTo("newvalue");
}
@Test
void entrySetContainsIsCaseInsensitive() {
map.put("Key", "value");
assertThat(map.entrySet().contains(Map.entry("KEY", "value"))).isTrue();
assertThat(map.entrySet().contains(Map.entry("key", "value"))).isTrue();
assertThat(map.entrySet().contains(Map.entry("Key", "value"))).isTrue();
}
@Test
void entrySetRemoveIsCaseInsensitive() {
map.put("Key", "value");
assertThat(map.entrySet().remove(Map.entry("KEY", "value"))).isTrue();
assertThat(map).isEmpty();
}
private void nextAndRemove(Iterator<?> iterator) {
iterator.next();
iterator.remove();