Merge branch '3.0.x'

This commit is contained in:
Stephane Nicoll 2023-05-08 15:33:52 +02:00
commit bc63c511e7

View File

@ -24,6 +24,7 @@ import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.SortedMap;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -244,7 +245,7 @@ class MapBinderTests {
existing.put("baz", 1001); existing.put("baz", 1001);
Bindable<Map<String, Integer>> target = STRING_INTEGER_MAP.withExistingValue(existing); Bindable<Map<String, Integer>> target = STRING_INTEGER_MAP.withExistingValue(existing);
Map<String, Integer> result = this.binder.bind("foo", target).get(); Map<String, Integer> result = this.binder.bind("foo", target).get();
assertThat(result).isExactlyInstanceOf(HashMap.class); assertThat(result).isInstanceOf(HashMap.class);
assertThat(result).hasSize(2); assertThat(result).hasSize(2);
assertThat(result).containsEntry("bar", 1); assertThat(result).containsEntry("bar", 1);
assertThat(result).containsEntry("baz", 1001); assertThat(result).containsEntry("baz", 1001);
@ -253,10 +254,10 @@ class MapBinderTests {
@Test @Test
void bindToMapShouldRespectMapType() { void bindToMapShouldRespectMapType() {
this.sources.add(new MockConfigurationPropertySource("foo.bar", "1")); this.sources.add(new MockConfigurationPropertySource("foo.bar", "1"));
ResolvableType type = ResolvableType.forClassWithGenerics(HashMap.class, String.class, Integer.class); ResolvableType type = ResolvableType.forClassWithGenerics(SortedMap.class, String.class, Integer.class);
Object defaultMap = this.binder.bind("foo", STRING_INTEGER_MAP).get(); Object defaultMap = this.binder.bind("foo", STRING_INTEGER_MAP).get();
Object customMap = this.binder.bind("foo", Bindable.of(type)).get(); Object customMap = this.binder.bind("foo", Bindable.of(type)).get();
assertThat(customMap).isExactlyInstanceOf(HashMap.class).isNotInstanceOf(defaultMap.getClass()); assertThat(customMap).isInstanceOf(SortedMap.class).isNotInstanceOf(defaultMap.getClass());
} }
@Test @Test