|
|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2016 the original author or authors. |
|
|
|
* Copyright 2002-2018 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
@ -62,12 +62,12 @@ public class JodaTimeFormattingTests { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Before |
|
|
|
@Before |
|
|
|
public void setUp() { |
|
|
|
public void setup() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void setUp(JodaTimeFormatterRegistrar registrar) { |
|
|
|
private void setup(JodaTimeFormatterRegistrar registrar) { |
|
|
|
conversionService = new FormattingConversionService(); |
|
|
|
conversionService = new FormattingConversionService(); |
|
|
|
DefaultConversionService.addDefaultConverters(conversionService); |
|
|
|
DefaultConversionService.addDefaultConverters(conversionService); |
|
|
|
registrar.registerFormatters(conversionService); |
|
|
|
registrar.registerFormatters(conversionService); |
|
|
|
@ -84,7 +84,7 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@After |
|
|
|
@After |
|
|
|
public void tearDown() { |
|
|
|
public void cleanup() { |
|
|
|
LocaleContextHolder.setLocale(null); |
|
|
|
LocaleContextHolder.setLocale(null); |
|
|
|
JodaTimeContextHolder.setJodaTimeContext(null); |
|
|
|
JodaTimeContextHolder.setJodaTimeContext(null); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -108,10 +108,10 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testBindLocalDateWithSpecificStyle() throws Exception { |
|
|
|
public void testBindLocalDateWithSpecificStyle() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
registrar.setDateStyle("L"); |
|
|
|
registrar.setDateStyle("L"); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
propertyValues.add("localDate", "October 31, 2009"); |
|
|
|
propertyValues.add("localDate", "October 31, 2009"); |
|
|
|
binder.bind(propertyValues); |
|
|
|
binder.bind(propertyValues); |
|
|
|
@ -120,10 +120,10 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testBindLocalDateWithSpecificFormatter() throws Exception { |
|
|
|
public void testBindLocalDateWithSpecificFormatter() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
registrar.setDateFormatter(org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd")); |
|
|
|
registrar.setDateFormatter(org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd")); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
propertyValues.add("localDate", "20091031"); |
|
|
|
propertyValues.add("localDate", "20091031"); |
|
|
|
binder.bind(propertyValues); |
|
|
|
binder.bind(propertyValues); |
|
|
|
@ -196,10 +196,10 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testBindLocalTimeWithSpecificStyle() throws Exception { |
|
|
|
public void testBindLocalTimeWithSpecificStyle() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
registrar.setTimeStyle("M"); |
|
|
|
registrar.setTimeStyle("M"); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
propertyValues.add("localTime", "12:00:00 PM"); |
|
|
|
propertyValues.add("localTime", "12:00:00 PM"); |
|
|
|
binder.bind(propertyValues); |
|
|
|
binder.bind(propertyValues); |
|
|
|
@ -208,10 +208,10 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testBindLocalTimeWithSpecificFormatter() throws Exception { |
|
|
|
public void testBindLocalTimeWithSpecificFormatter() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
registrar.setTimeFormatter(org.joda.time.format.DateTimeFormat.forPattern("HHmmss")); |
|
|
|
registrar.setTimeFormatter(org.joda.time.format.DateTimeFormat.forPattern("HHmmss")); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
propertyValues.add("localTime", "130000"); |
|
|
|
propertyValues.add("localTime", "130000"); |
|
|
|
binder.bind(propertyValues); |
|
|
|
binder.bind(propertyValues); |
|
|
|
@ -261,10 +261,10 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testBindDateTimeWithSpecificStyle() throws Exception { |
|
|
|
public void testBindDateTimeWithSpecificStyle() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
registrar.setDateTimeStyle("MM"); |
|
|
|
registrar.setDateTimeStyle("MM"); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
propertyValues.add("localDateTime", new LocalDateTime(2009, 10, 31, 12, 0)); |
|
|
|
propertyValues.add("localDateTime", new LocalDateTime(2009, 10, 31, 12, 0)); |
|
|
|
binder.bind(propertyValues); |
|
|
|
binder.bind(propertyValues); |
|
|
|
@ -275,10 +275,10 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testBindDateTimeISO() throws Exception { |
|
|
|
public void testBindDateTimeISO() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
registrar.setUseIsoFormat(true); |
|
|
|
registrar.setUseIsoFormat(true); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
propertyValues.add("dateTime", "2009-10-31T12:00:00.000Z"); |
|
|
|
propertyValues.add("dateTime", "2009-10-31T12:00:00.000Z"); |
|
|
|
binder.bind(propertyValues); |
|
|
|
binder.bind(propertyValues); |
|
|
|
@ -287,10 +287,10 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testBindDateTimeWithSpecificFormatter() throws Exception { |
|
|
|
public void testBindDateTimeWithSpecificFormatter() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
registrar.setDateTimeFormatter(org.joda.time.format.DateTimeFormat.forPattern("yyyyMMddHHmmss")); |
|
|
|
registrar.setDateTimeFormatter(org.joda.time.format.DateTimeFormat.forPattern("yyyyMMddHHmmss")); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
MutablePropertyValues propertyValues = new MutablePropertyValues(); |
|
|
|
propertyValues.add("dateTime", "20091031130000"); |
|
|
|
propertyValues.add("dateTime", "20091031130000"); |
|
|
|
binder.bind(propertyValues); |
|
|
|
binder.bind(propertyValues); |
|
|
|
@ -435,33 +435,31 @@ public class JodaTimeFormattingTests { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void dateToStringWithFormat() throws Exception { |
|
|
|
public void dateToStringWithFormat() { |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
registrar.setDateTimeFormatter(org.joda.time.format.DateTimeFormat.shortDateTime()); |
|
|
|
registrar.setDateTimeFormatter(org.joda.time.format.DateTimeFormat.shortDateTime()); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
Date date = new Date(); |
|
|
|
Date date = new Date(); |
|
|
|
Object actual = this.conversionService.convert(date, TypeDescriptor.valueOf(Date.class), TypeDescriptor.valueOf(String.class)); |
|
|
|
Object actual = this.conversionService.convert(date, TypeDescriptor.valueOf(Date.class), TypeDescriptor.valueOf(String.class)); |
|
|
|
String expected = JodaTimeContextHolder.getFormatter(org.joda.time.format.DateTimeFormat.shortDateTime(), Locale.US).print(new DateTime(date)); |
|
|
|
String expected = JodaTimeContextHolder.getFormatter(org.joda.time.format.DateTimeFormat.shortDateTime(), Locale.US).print(new DateTime(date)); |
|
|
|
assertEquals(expected, actual); |
|
|
|
assertEquals(expected, actual); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // SPR-10105
|
|
|
|
@SuppressWarnings("deprecation") |
|
|
|
@SuppressWarnings("deprecation") |
|
|
|
public void stringToDateWithoutGlobalFormat() throws Exception { |
|
|
|
public void stringToDateWithoutGlobalFormat() { |
|
|
|
// SPR-10105
|
|
|
|
|
|
|
|
String string = "Sat, 12 Aug 1995 13:30:00 GM"; |
|
|
|
String string = "Sat, 12 Aug 1995 13:30:00 GM"; |
|
|
|
Date date = this.conversionService.convert(string, Date.class); |
|
|
|
Date date = this.conversionService.convert(string, Date.class); |
|
|
|
assertThat(date, equalTo(new Date(string))); |
|
|
|
assertThat(date, equalTo(new Date(string))); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // SPR-10105
|
|
|
|
public void stringToDateWithGlobalFormat() throws Exception { |
|
|
|
public void stringToDateWithGlobalFormat() { |
|
|
|
// SPR-10105
|
|
|
|
|
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
JodaTimeFormatterRegistrar registrar = new JodaTimeFormatterRegistrar(); |
|
|
|
DateTimeFormatterFactory factory = new DateTimeFormatterFactory(); |
|
|
|
DateTimeFormatterFactory factory = new DateTimeFormatterFactory(); |
|
|
|
factory.setIso(ISO.DATE_TIME); |
|
|
|
factory.setIso(ISO.DATE_TIME); |
|
|
|
registrar.setDateTimeFormatter(factory.createDateTimeFormatter()); |
|
|
|
registrar.setDateTimeFormatter(factory.createDateTimeFormatter()); |
|
|
|
setUp(registrar); |
|
|
|
setup(registrar); |
|
|
|
// This is a format that cannot be parsed by new Date(String)
|
|
|
|
// This is a format that cannot be parsed by new Date(String)
|
|
|
|
String string = "2009-10-31T07:00:00.000-05:00"; |
|
|
|
String string = "2009-10-31T07:00:00.000-05:00"; |
|
|
|
Date date = this.conversionService.convert(string, Date.class); |
|
|
|
Date date = this.conversionService.convert(string, Date.class); |
|
|
|
|