diff --git a/org.springframework.context/src/test/java/org/springframework/mapping/support/SpelMapperTests.java b/org.springframework.context/src/test/java/org/springframework/mapping/support/SpelMapperTests.java index 25771aebbd4..d4d977dda5f 100644 --- a/org.springframework.context/src/test/java/org/springframework/mapping/support/SpelMapperTests.java +++ b/org.springframework.context/src/test/java/org/springframework/mapping/support/SpelMapperTests.java @@ -146,6 +146,31 @@ public class SpelMapperTests { assertEquals("bar", target.nested.foo); } + @Test + public void mapBeanNestedCustomMapper() { + PersonDto source = new PersonDto(); + NestedDto nested = new NestedDto(); + nested.foo = "bar"; + source.setNested(nested); + + Person target = new Person(); + + SpelMapper nestedMapper = new SpelMapper(); + nestedMapper.setAutoMappingEnabled(false); + nestedMapper.addMapping("foo").setConverter(new Converter() { + public String convert(String source) { + return source + " and baz"; + } + }); + mapper.addNestedMapper(NestedDto.class, Nested.class, nestedMapper); + + mapper.setAutoMappingEnabled(false); + mapper.addMapping("nested"); + mapper.map(source, target); + + assertEquals("bar and baz", target.nested.foo); + } + @Test public void mapList() { PersonDto source = new PersonDto();