TypeDescriptor properly narrows ResolvableType for non-typed collection elements
Issue: SPR-14971
This commit is contained in:
@@ -628,13 +628,35 @@ public class DefaultConversionServiceTests {
|
||||
assertEquals(3, result[2]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertListOfNonStringifiable() {
|
||||
List<Object> list = Arrays.asList(new TestEntity(1L), new TestEntity(2L));
|
||||
assertTrue(conversionService.canConvert(list.getClass(), String.class));
|
||||
try {
|
||||
conversionService.convert(list, String.class);
|
||||
}
|
||||
catch (ConversionFailedException ex) {
|
||||
assertTrue(ex.getMessage().contains(list.getClass().getName()));
|
||||
assertTrue(ex.getCause() instanceof ConverterNotFoundException);
|
||||
assertTrue(ex.getCause().getMessage().contains(TestEntity.class.getName()));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertListOfStringToString() {
|
||||
List<String> list = Arrays.asList("Foo", "Bar");
|
||||
assertTrue(conversionService.canConvert(list.getClass(), String.class));
|
||||
String result = conversionService.convert(list, String.class);
|
||||
assertEquals("Foo,Bar", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertListOfListToString() {
|
||||
List<String> list1 = Arrays.asList("Foo", "Bar");
|
||||
List<String> list2 = Arrays.asList("Baz", "Boop");
|
||||
List<List<String>> list = Arrays.asList(list1, list2);
|
||||
assertTrue(conversionService.canConvert(list.getClass(), String.class));
|
||||
String result = conversionService.convert(list, String.class);
|
||||
assertNotNull(result);
|
||||
assertEquals("Foo,Bar,Baz,Boop", result);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user