Harmonize default converters
Provide Converter implementations for Charset, Currency and TimeZone as related PropertyEditors are available for those. Issue: SPR-13020
This commit is contained in:
@@ -20,12 +20,14 @@ import java.awt.Color;
|
||||
import java.lang.reflect.Method;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.nio.charset.Charset;
|
||||
import java.time.ZoneId;
|
||||
import java.util.AbstractList;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Currency;
|
||||
import java.util.EnumSet;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
@@ -37,6 +39,7 @@ import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.TimeZone;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@@ -277,6 +280,26 @@ public class DefaultConversionServiceTests {
|
||||
assertEquals(Locale.ENGLISH, conversionService.convert("en", Locale.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStringToCharset() {
|
||||
assertEquals(Charset.forName("UTF-8"), conversionService.convert("UTF-8", Charset.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCharsetToString() {
|
||||
assertEquals("UTF-8", conversionService.convert(Charset.forName("UTF-8"), String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStringToCurrency() {
|
||||
assertEquals(Currency.getInstance("EUR"), conversionService.convert("EUR", Currency.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCurrencyToString() {
|
||||
assertEquals("USD", conversionService.convert(Currency.getInstance("USD"), String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStringToString() {
|
||||
String str = "test";
|
||||
@@ -801,6 +824,11 @@ public class DefaultConversionServiceTests {
|
||||
assertEquals("toString() invocations", 0, SSN.toStringCount);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertStringToTimezone() {
|
||||
assertEquals("GMT+02:00", conversionService.convert("GMT+2", TimeZone.class).getID());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertObjectToStringWithJavaTimeOfMethodPresent() {
|
||||
assertTrue(conversionService.convert(ZoneId.of("GMT+1"), String.class).startsWith("GMT+"));
|
||||
|
||||
Reference in New Issue
Block a user